diff --git a/README.md b/README.md index fcecf3e4..119580fe 100644 --- a/README.md +++ b/README.md @@ -53,6 +53,8 @@ which will generate customizable config file `config/initializers/config.rb` and You can now edit them to adjust to your needs. +> Note: By default, the config environment will match the Rails environment (`Rails.env`). This can be changed by setting `config.environment`. + ### Installing on Padrino Add the gem to your `Gemfile` and run `bundle install` to install it. Then edit `app.rb` and register `Config` diff --git a/lib/config.rb b/lib/config.rb index 0efde070..db06bcbc 100644 --- a/lib/config.rb +++ b/lib/config.rb @@ -27,7 +27,8 @@ module Config overwrite_arrays: true, merge_hash_arrays: false, validation_contract: nil, - evaluate_erb_in_yaml: true + evaluate_erb_in_yaml: true, + environment: nil ) def self.setup diff --git a/lib/config/integrations/rails/railtie.rb b/lib/config/integrations/rails/railtie.rb index 460fa5f3..6748c116 100644 --- a/lib/config/integrations/rails/railtie.rb +++ b/lib/config/integrations/rails/railtie.rb @@ -9,7 +9,7 @@ def preload # Parse the settings before any of the initializers Config.load_and_set_settings( - Config.setting_files(::Rails.root.join('config'), ::Rails.env) + Config.setting_files(::Rails.root.join('config'), Config.environment.nil? ? ::Rails.env : Config.environment.to_sym) ) end diff --git a/lib/generators/config/templates/config.rb b/lib/generators/config/templates/config.rb index 6ea74ecc..f6a222d0 100644 --- a/lib/generators/config/templates/config.rb +++ b/lib/generators/config/templates/config.rb @@ -15,6 +15,11 @@ # # config.overwrite_arrays = true + # Defines current environment, affecting which settings file will be loaded. + # Default: `Rails.env` + # + # config.environment = ENV.fetch('ENVIRONMENT', :development) + # Load environment variables from the `ENV` object and override any settings defined in files. # # config.use_env = false