次の方法に関するドキュメントが見つからないようです: エンジンを使用するすべてのアプリケーションに構成変数を提供して、エンジンに設定を簡単に渡すことができるようにする必要があります。
これを行うための適切な方法または受け入れられた方法へのリンクはありますか?
編集:更新として、これを行うための適切な方法を見つけました。コードは以下です。
# file: lib/my_engine.rb
module MyEngine
class Engine < Rails::Engine
initializer "my_engine.configure_rails_initialization" do |app|
# Engine configures Rails app here, this is not what my question was about
end
end
# This is what I was trying to figure out
def self.config(&block)
@@config ||= MyEngine::Configuration.new
yield @@config if block
return @@config
end
end
MyEngine::Configuration
これにより、私のエンジンを使用するアプリケーションは、クラスで定義されたメソッドを呼び出して、初期化子または environment.rb ファイルで以下のように構成できます。
MyEngine.config do |config|
config.some_configuration_option = "Whatever"
end