Я работаю над движком для Rails в качестве плагина. Мне бы хотелось, чтобы он мог вносить необходимые изменения в конфигурацию Rails при загрузке, чтобы он мог указать свои зависимости Gem, а также добавить несколько путей загрузки.
Файл init.rb плагина имеет доступ к объекту config, но он фактически доступен только для чтения, вы можете указать гем, но это не имеет значения, инициализатор должен уже работать на этом этапе.
Сейчас я справился с этим, потребовав файл с новым блоком Rails :: Initializer, например:
Rails::Initializer.run do |config|
config.gem "authlogic", :version => ">= 2.0.9"
# etc
end
Это работает, но стирает любую существующую конфигурацию в среде основного приложения. Rb.
Может быть, я могу решить эту проблему, имея генератор в движке, который добавляет что-то в environment.rb, который загружает конфигурацию плагина на нужной стадии, или, возможно, есть способ добавить файл в config / initializer для выполнения этой работы , Не уверен, как лучше пойти об этом, хотя.