diff options
author | Kasper Timm Hansen <kaspth@gmail.com> | 2017-12-18 19:57:35 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-12-18 19:57:35 +0100 |
commit | 053a4c699043ea5449effaba0549b2f8a5821228 (patch) | |
tree | 9cfd7534cd26773698584e981dd1858b13c9bc53 /activesupport/lib/active_support | |
parent | 1d047235b0cefcb80d4e18fed732cbe2bd32a8ee (diff) | |
parent | 35373219c91ea8096ef2f8e7f3c62bcd46f436be (diff) | |
download | rails-053a4c699043ea5449effaba0549b2f8a5821228.tar.gz rails-053a4c699043ea5449effaba0549b2f8a5821228.tar.bz2 rails-053a4c699043ea5449effaba0549b2f8a5821228.zip |
Merge pull request #31348 from y-yagi/fix_31283
Raise an error only when `require_master_key` is specified
Diffstat (limited to 'activesupport/lib/active_support')
-rw-r--r-- | activesupport/lib/active_support/encrypted_configuration.rb | 5 | ||||
-rw-r--r-- | activesupport/lib/active_support/encrypted_file.rb | 10 |
2 files changed, 8 insertions, 7 deletions
diff --git a/activesupport/lib/active_support/encrypted_configuration.rb b/activesupport/lib/active_support/encrypted_configuration.rb index c52d3869de..dab953d5d5 100644 --- a/activesupport/lib/active_support/encrypted_configuration.rb +++ b/activesupport/lib/active_support/encrypted_configuration.rb @@ -11,8 +11,9 @@ module ActiveSupport delegate :[], :fetch, to: :config delegate_missing_to :options - def initialize(config_path:, key_path:, env_key:) - super content_path: config_path, key_path: key_path, env_key: env_key + def initialize(config_path:, key_path:, env_key:, raise_if_missing_key:) + super content_path: config_path, key_path: key_path, + env_key: env_key, raise_if_missing_key: raise_if_missing_key end # Allow a config to be started without a file present diff --git a/activesupport/lib/active_support/encrypted_file.rb b/activesupport/lib/active_support/encrypted_file.rb index 3d1455fb95..671b6b6a69 100644 --- a/activesupport/lib/active_support/encrypted_file.rb +++ b/activesupport/lib/active_support/encrypted_file.rb @@ -26,11 +26,11 @@ module ActiveSupport end - attr_reader :content_path, :key_path, :env_key + attr_reader :content_path, :key_path, :env_key, :raise_if_missing_key - def initialize(content_path:, key_path:, env_key:) + def initialize(content_path:, key_path:, env_key:, raise_if_missing_key:) @content_path, @key_path = Pathname.new(content_path), Pathname.new(key_path) - @env_key = env_key + @env_key, @raise_if_missing_key = env_key, raise_if_missing_key end def key @@ -38,7 +38,7 @@ module ActiveSupport end def read - if content_path.exist? + if !key.nil? && content_path.exist? decrypt content_path.binread else raise MissingContentError, content_path @@ -93,7 +93,7 @@ module ActiveSupport end def handle_missing_key - raise MissingKeyError, key_path: key_path, env_key: env_key + raise MissingKeyError, key_path: key_path, env_key: env_key if raise_if_missing_key end end end |