Почему современные драгоценные камни плагинов rails предпочитают инициализаторы конфигурации хуку конфигурации Railtie?

Раньше я видел много жемчужин, где вы могли бы настроить их в своем файле application.rb или в одном из файлов среды, потому что они подключались к помощникам настройки Railtie. Но теперь кажется, что каждый гем, который я использую, обрабатывает конфигурацию, имея файл инициализатора с пользовательской реализацией конфигурации (например, Devise.setup do |config| от Devise).

Я подозреваю, что одной из причин этого является то, что гемы, которые я использую, имеют множество параметров конфигурации, поэтому имеет смысл использовать инициализатор. Но есть ли другие причины не использовать config Railtie?

Допустим, я создаю драгоценный камень и хочу предоставить только несколько параметров для пользовательской конфигурации. Каковы плюсы и минусы использования файла инициализатора с настраиваемой логикой настройки по сравнению с использованием Railties?


person Xavier    schedule 23.07.2016    source источник


Ответы (1)


Использование файла инициализатора позволяет избежать привязки конфигурации гема к конкретным деталям того, как фреймворк загружает конфигурацию.

Возьмем, к примеру, Devise — если бы крюк рельса изменился, он бы внезапно вернулся к поведению по умолчанию. Это означает, что сопровождающим необходимо будет изменить как генератор, так и шаблон, а конечным пользователям потребуется изменить свою конфигурацию при обновлении рельсов.

Также очень просто удалить драгоценные камни, которые используют файл инициализатора.

person max    schedule 24.07.2016