如何从gem中添加到应用程序的development.rb配置

时间:2013-02-04 23:35:30

标签: ruby-on-rails gem

我正在制作一个宝石,可以添加常用的宝石用于开发,例如子弹宝石。

我想添加到应用程序的development.rb配置文件中,这样我就可以在应用程序的配置文件中配置bullet gem而不必执行此操作。

据我所知,应用程序的开发配置文件名称间隔为应用程序名称(“SomeApp :: Application.configure”)。那么我怎样才能最好地从gem中动态添加这个文件?

2 个答案:

答案 0 :(得分:2)

你最好的选择可能是通过创建一个继承自Rails::Engine的类并确保它在加载时被gem包含在内,将你的gem设置为rails engine

在您的引擎中,您可以将任何设置工作作为初始化程序块的一部分:

module MyGem
  class Engine < Rails::Engine
    initializer "my_gem.setup_environment" do |app|
      case Rails.env
      when 'development'
        # do something
      else
        # do something else
      end
    end
  end
end

答案 1 :(得分:0)

使用Railtie。您可以访问在其他Railties和应用程序之间共享的配置对象:

class MyRailtie < Rails::Railtie
  config.to_prepare do
    MyRailtie.setup!
  end
end