Railsプラグインをgemに変換していますが、プラグインの起動時にプラグインに対して実行されていたinit.rbに初期化があります。しかし、このプラグインをgemに変換すると、このコードは実行されなくなります。gemの起動時にコードを実行するにはどうすればよいですか?
また、初期化はRails固有であり、::Rails.rootが必要です。
Railsプラグインをgemに変換していますが、プラグインの起動時にプラグインに対して実行されていたinit.rbに初期化があります。しかし、このプラグインをgemに変換すると、このコードは実行されなくなります。gemの起動時にコードを実行するにはどうすればよいですか?
また、初期化はRails固有であり、::Rails.rootが必要です。
私のビルドは現在、次のような非推奨の警告を示しています
非推奨警告: vendor/plugins に Rails 2.3 スタイルのプラグインがあります! これらのプラグインのサポートは、Rails 4.0 で削除されます。それらを移動して Gemfile にバンドルするか、lib/myplugin/* および config/initializers/myplugin.rb としてアプリに折りたたみます。詳細については、リリース ノートを参照してください: http://weblog.rubyonrails.org/2012/01/04/rails-3-2-0-rc2-has-been-released。($PROJECT_HOME/config/environment.rb:8 から呼び出されます)
それがあなたの答えだと思います;)
編集:宝石がロードされたときに実行されても問題ないことに気付きました。その場合、lib/same-name-as-gem.rb
gem が (bundler/rubygems を介して) ロードされるときに自動的に必要になります。
Railtiesの初期化を使用すると、問題が修正されました。Rails.root を構成するのに適切なタイミングで init.rb が実行されませんでした。