私は宝石を持っています:
# in /Library/Ruby/Gems/1.8/gems/my_gem-1.0.0/lib/my_gem.rb
module MyGem
def do_stuff
..
end
end
そして私はそれをRailsにロードしました:
# in [rails_root]/config/environment.rb:
config.gem 'my_gem', :version => '1.0.0'
そしてそれを使用しました:
# in [rails_root]/app/controllers/application_controller.rb
class ApplicationController < ActionController::Base
include MyGem
end
しかし、環境固有の方法で少しモンキーパッチを適用する必要があります。
# in [rails_root]/config/environments/development.rb:
MyGem.class_eval do
def do_stuff
raise 'Ack! - just testing'
end
end
残念ながら、MyGem
リクエストごとにリロードするので、私のモンキーパッチは役に立ちません。
私はチェックしましたload_once_paths
:
ActiveSupport::Dependencies.load_once_paths
# => ["/Library/Ruby/Gems/1.8/gems/my_gem-1.0.0/lib", "other stuff"]
どうすれば私が望む効果を得ることができるか考えていますか?