Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Use safe load instead of load file. #6

Open
wants to merge 3 commits into
base: master
Choose a base branch
from

Conversation

Euphoreka7
Copy link

Чинит:

`rescue in block (2 levels) in require': There was an error while trying to load the gem 'russian_workdays'. (Bundler::GemRequireError)
Gem Load Error is: Tried to load unspecified class: Date

из-за способа загрузки config.active_record.yaml_column_permitted_classes игнорится, а манки-патчить это такое себе

@gsmetal
Copy link
Contributor

gsmetal commented Dec 5, 2023

А можно это помёржить? Блокирует разные обновления.

@gsmetal
Copy link
Contributor

gsmetal commented Dec 6, 2023

Насколько я вижу, эта версия ломает совместимость с ruby 2, так как там в YAML.load_file нет аргумента permitted_classes.

@Euphoreka7
Copy link
Author

Euphoreka7 commented Dec 8, 2023

давно чекала. уже точно не помню. но вроде поддерживается начиная с 2.6.3
к тому же: https://www.ruby-lang.org/en/downloads/branches/
это как 1.х.х версию вспомнить
можно, конечно, добавить вариант поддержки и более старых версий рубей как делается в некоторых гемах, но не уверена нужно ли вообще заморачиваться с учетом EOL более раннего
а вот то текущий код ломает совместимость с актуальными версиями - имхо, не ок

@gsmetal
Copy link
Contributor

gsmetal commented Dec 8, 2023

но вроде поддерживается начиная с 2.6.3

Видимо, речь про параметр permitted_classes, но он доступен только в safe_load, но его нет в load_file в старых рубях.
Я сделал более универсальное решение, которое проверил на 2.7 и на 3+. Заодно 2024 год добавил.

можно, конечно, добавить вариант поддержки и более старых версий рубей как делается в некоторых гемах, но не уверена нужно ли вообще заморачиваться с учетом EOL более раннего

Прекращение поддержки старых версий придётся делать изменением мажорной версии. Но в данном случае эта поддержка вроде бы пока ничего особо не стоит.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants