diff options
author | Rafael Mendonça França <rafael.franca@plataformatec.com.br> | 2014-08-18 00:22:34 -0300 |
---|---|---|
committer | Rafael Mendonça França <rafaelmfranca@gmail.com> | 2014-08-19 13:59:22 -0300 |
commit | de4891344ccc074f6d5693f4fac6ad610584e336 (patch) | |
tree | 9d62508514bb9909e0766cba3020292c2d27bb17 /guides/source | |
parent | 0cb3bdb66e87981c1094edecfce9182ae8aeb240 (diff) | |
download | rails-de4891344ccc074f6d5693f4fac6ad610584e336.tar.gz rails-de4891344ccc074f6d5693f4fac6ad610584e336.tar.bz2 rails-de4891344ccc074f6d5693f4fac6ad610584e336.zip |
Improve custom configuration
1. Hashes can be assigned
2. We don't need a special level anymore
The method chain only works in the top level.
If users need a second level they need to assign a OrderedOptions to the
key:
config.resque.server = ActiveSupport::OrderedOptions.new
config.resque.server.url = "http://localhost"
config.resque.server.port = 3000
[Rafael Mendonça França + Carlos Antonio da Silva]
Diffstat (limited to 'guides/source')
-rw-r--r-- | guides/source/4_2_release_notes.md | 18 | ||||
-rw-r--r-- | guides/source/configuring.md | 16 |
2 files changed, 19 insertions, 15 deletions
diff --git a/guides/source/4_2_release_notes.md b/guides/source/4_2_release_notes.md index 1c14519506..9937a947a5 100644 --- a/guides/source/4_2_release_notes.md +++ b/guides/source/4_2_release_notes.md @@ -75,22 +75,24 @@ Please refer to the [Changelog][railties] for detailed changes. * Introduced an `after_bundle` callback for use in Rails templates. ([Pull Request](https://github.com/rails/rails/pull/16359)) -* Introduced the `x` namespace for defining custom configuration options: +* Custom configuration options can be chained: ```ruby # config/environments/production.rb - config.x.payment_processing.schedule = :daily - config.x.payment_processing.retries = 3 - config.x.super_debugger = true + config.payment_processing.schedule = :daily + config.payment_processing.retries = 3 + config.resque = { timeout: 60, inline_jobs: :always } + config.super_debugger = true ``` These options are then available through the configuration object: ```ruby - Rails.configuration.x.payment_processing.schedule # => :daily - Rails.configuration.x.payment_processing.retries # => 3 - Rails.configuration.x.super_debugger # => true - Rails.configuration.x.super_debugger.not_set # => nil + Rails.configuration.payment_processing.schedule # => :daily + Rails.configuration.payment_processing.retries # => 3 + Rails.configuration.resque.timeout # => 60 + Rails.configuration.resque.inline_jobs # => :always + Rails.configuration.super_debugger # => true ``` ([Commit](https://github.com/rails/rails/commit/611849772dd66c2e4d005dcfe153f7ce79a8a7db)) diff --git a/guides/source/configuring.md b/guides/source/configuring.md index 801cef5ca6..6922dd681a 100644 --- a/guides/source/configuring.md +++ b/guides/source/configuring.md @@ -1006,16 +1006,18 @@ Custom configuration You can configure your own code through the Rails configuration object with custom configuration. It works like this: ```ruby - config.x.payment_processing.schedule = :daily - config.x.payment_processing.retries = 3 - config.x.super_debugger = true + config.payment_processing.schedule = :daily + config.payment_processing.retries = 3 + config.resque = { timeout: 60, inline_jobs: :always } + config.super_debugger = true ``` These configuration points are then available through the configuration object: ```ruby - Rails.configuration.x.payment_processing.schedule # => :daily - Rails.configuration.x.payment_processing.retries # => 3 - Rails.configuration.x.super_debugger # => true - Rails.configuration.x.super_debugger.not_set # => nil + Rails.configuration.payment_processing.schedule # => :daily + Rails.configuration.payment_processing.retries # => 3 + Rails.configuration.resque.timeout # => 60 + Rails.configuration.resque.inline_jobs # => :always + Rails.configuration.super_debugger # => true ``` |