aboutsummaryrefslogtreecommitdiffstats
path: root/activesupport/lib
diff options
context:
space:
mode:
authorMartin Spickermann <spickermann@users.noreply.github.com>2018-10-05 01:06:33 +0200
committerYuji Yaginuma <yuuji.yaginuma@gmail.com>2018-10-05 08:06:33 +0900
commitbd107964197989b5b3ec3395e3ab011bb9d662d7 (patch)
tree4ecccbd789c4f88b0e6b328740c4a9dd3bd37633 /activesupport/lib
parentc37247e187fd4c93ae572240ec56a3946dfc73c4 (diff)
downloadrails-bd107964197989b5b3ec3395e3ab011bb9d662d7.tar.gz
rails-bd107964197989b5b3ec3395e3ab011bb9d662d7.tar.bz2
rails-bd107964197989b5b3ec3395e3ab011bb9d662d7.zip
Bugfix: ActiveSupport::EncryptedConfiguration reading of comment-only encrypted files (#34014)
* Fix reading comment only encrypted files When a encrypted file contains only comments then reading that files raises an error: NoMethodError: undefined method `deep_symbolize_keys' for false:FalseClass activesupport/lib/active_support/encrypted_configuration.rb:33:in `config' test/encrypted_configuration_test.rb:52:in `block in <class:EncryptedConfigurationTest>' This happens because the previous implementation returned a `{}` fallback for blank YAML strings. But it did not handle YAML strings that are present but still do not contain any _usefull_ YAML - like the file created by `Rails::Generators::EncryptedFileGenerator` which looks like this: # aws: # access_key_id: 123 # secret_access_key: 345 * Fix coding style violation * Add backwardscompatible with Psych versions that were shipped with Ruby <2.5 * Do not rely on railties for Active Support test * Simplify error handling * Improve test naming * Simplify file creation in test
Diffstat (limited to 'activesupport/lib')
-rw-r--r--activesupport/lib/active_support/encrypted_configuration.rb2
1 files changed, 1 insertions, 1 deletions
diff --git a/activesupport/lib/active_support/encrypted_configuration.rb b/activesupport/lib/active_support/encrypted_configuration.rb
index 3c6da10548..cc1d026737 100644
--- a/activesupport/lib/active_support/encrypted_configuration.rb
+++ b/activesupport/lib/active_support/encrypted_configuration.rb
@@ -39,7 +39,7 @@ module ActiveSupport
end
def deserialize(config)
- config.present? ? YAML.load(config, content_path) : {}
+ YAML.load(config).presence || {}
end
end
end