Sha256: 0ba515d15bceaba5cf78c81ee442300ed44989d94ddb385a6cb408deb5c12f71

Contents?: true

Size: 1.14 KB

Versions: 6

Compression:

Stored size: 1.14 KB

Contents

module Config
  module Integration
    module Rails
      if defined?(::Rails::Railtie)
        class Railtie < ::Rails::Railtie
          # Load rake tasks (eg. Heroku)
          rake_tasks do
            Dir[File.join(File.dirname(__FILE__),'../tasks/*.rake')].each { |f| load f }
          end

          config.before_configuration { preload }

          def preload
            # Manually load the custom initializer before everything else
            initializer = ::Rails.root.join("config", "initializers", "config.rb")
            require initializer if File.exist?(initializer)

            # Parse the settings before any of the initializers
            Config.load_and_set_settings(
              Config.setting_files(::Rails.root.join("config"), ::Rails.env)
            )
          end

          # Rails Dev environment should reload the Settings on every request
          if ::Rails.env.development?
            initializer :config_reload_on_development do
              ActionController::Base.class_eval do
                prepend_before_filter { ::Config.reload! }
              end
            end
          end
        end
      end
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
config-1.1.1 lib/config/integrations/rails/railtie.rb
config-1.1.0 lib/config/integrations/rails/railtie.rb
config-1.0.0 lib/config/integration/rails.rb
config-1.0.0.beta3 lib/config/integration/rails.rb
config-1.0.0.beta2 lib/config/integration/rails.rb
config-1.0.0.beta1 lib/config/integration/rails.rb