From 476b14a32ddb89241027902e76e8455013972276 Mon Sep 17 00:00:00 2001 From: Benny Klotz Date: Mon, 19 Oct 2015 11:14:11 +0200 Subject: Updated existing custom configuration for rails 5 where `config.x` namespace is not needed anymore. Added custom configuration through config_for which parses a yml file in config folder. --- guides/source/configuring.md | 43 +++++++++++++++++++++++++++++++++++-------- 1 file changed, 35 insertions(+), 8 deletions(-) (limited to 'guides/source') diff --git a/guides/source/configuring.md b/guides/source/configuring.md index 87114c4ef0..be355d3324 100644 --- a/guides/source/configuring.md +++ b/guides/source/configuring.md @@ -1107,21 +1107,48 @@ NOTE. If you are running in a multi-threaded environment, there could be a chanc Custom configuration -------------------- -You can configure your own code through the Rails configuration object with custom configuration under the `config.x` property. It works like this: +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.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.super_debugger # => true + Rails.configuration.super_debugger.not_set # => nil + ``` + +You can also use `Rails::Application.config_for` to load whole configuration files: + + ```ruby + # config/payment.yml: + production: + environment: production + merchant_id: production_merchant_id + public_key: production_public_key + private_key: production_private_key + development: + environment: sandbox + merchant_id: development_merchant_id + public_key: development_public_key + private_key: development_private_key + + # config/application.rb + module MyApp + class Application < Rails::Application + config.payment = Rails.application.config_for(:payment) + end + end + ``` + + ```ruby + Rails.configuration.payment.merchant_id # => production_merchant_id or development_merchant_id ``` Search Engines Indexing -- cgit v1.2.3