mirror of
https://github.com/rails/rails.git
synced 2022-11-09 12:12:34 -05:00
Merge pull request #26929 from elorest/is_deep_symbolize_secrets
deep symbolize keys on secrets.yml
This commit is contained in:
commit
6cd65861e9
3 changed files with 22 additions and 2 deletions
|
@ -1,3 +1,9 @@
|
|||
* The config file `secrets.yml` is now loaded in with all keys as symbols.
|
||||
This allows secrets files to contain more complex information without all
|
||||
child keys being strings while parent keys are symbols.
|
||||
|
||||
*Isaac Sloan*
|
||||
|
||||
* Add `:skip_sprockets` to `Rails::PluginBuilder::PASSTHROUGH_OPTIONS`
|
||||
|
||||
*Tsukuru Tanimichi*
|
||||
|
|
|
@ -394,8 +394,8 @@ module Rails
|
|||
shared_secrets = all_secrets["shared"]
|
||||
env_secrets = all_secrets[Rails.env]
|
||||
|
||||
secrets.merge!(shared_secrets.symbolize_keys) if shared_secrets
|
||||
secrets.merge!(env_secrets.symbolize_keys) if env_secrets
|
||||
secrets.merge!(shared_secrets.deep_symbolize_keys) if shared_secrets
|
||||
secrets.merge!(env_secrets.deep_symbolize_keys) if env_secrets
|
||||
end
|
||||
|
||||
# Fallback to config.secret_key_base if secrets.secret_key_base isn't set
|
||||
|
|
|
@ -636,6 +636,20 @@ module ApplicationTests
|
|||
end
|
||||
end
|
||||
|
||||
test "that nested keys are symbolized the same as parents for hashes more than one level deep" do
|
||||
app_file "config/secrets.yml", <<-YAML
|
||||
development:
|
||||
smtp_settings:
|
||||
address: "smtp.example.com"
|
||||
user_name: "postmaster@example.com"
|
||||
password: "697361616320736c6f616e2028656c6f7265737429"
|
||||
YAML
|
||||
|
||||
app "development"
|
||||
|
||||
assert_equal "697361616320736c6f616e2028656c6f7265737429", app.secrets.smtp_settings[:password]
|
||||
end
|
||||
|
||||
test "protect from forgery is the default in a new app" do
|
||||
make_basic_app
|
||||
|
||||
|
|
Loading…
Reference in a new issue