Я хочу написать несколько упакованных плагинов, которые я могу добавить в проект и настроить для конкретного проекта. Например, у меня может быть плагин rolodex, в котором я хочу, чтобы день рождения человека настраивался как требуется или не требовалось.
в config / initializer / rolodex.rb
Rolodex :: Application.config.require_birthday = true
Тогда в модели Person.rb
класс Person << ActiveRecord :: Base </p>
validates_presence_of: birthday,: if => Proc.new {| p | Ролодекс :: Application.config.require_birthday}
...
возможно, немного неровно для подхода - если есть более идиоматический способ, кричите.
но вот мой вопрос. Я пытаюсь написать модульные тесты, чтобы убедиться, что переключатель конфигурации работает. но я не могу. если я напишу модульный тест, который устанавливает ..require_birthday = false, будет слишком поздно, потому что класс уже загружен и валидатор определен на основе значений конфигурации в инициализаторах. как я должен это проверить?