aboutsummaryrefslogtreecommitdiffstats
path: root/railties/lib/rails/commands/encrypted/encrypted_command.rb
diff options
context:
space:
mode:
authoryuuji.yaginuma <yuuji.yaginuma@gmail.com>2017-12-05 21:41:19 +0900
committeryuuji.yaginuma <yuuji.yaginuma@gmail.com>2017-12-18 08:04:15 +0900
commit35373219c91ea8096ef2f8e7f3c62bcd46f436be (patch)
tree568eddd5f7ef943f297c8cfe56d1087d371d5122 /railties/lib/rails/commands/encrypted/encrypted_command.rb
parentdaf15f58b943d85d8fb726590ae94f77ca0a5d5f (diff)
downloadrails-35373219c91ea8096ef2f8e7f3c62bcd46f436be.tar.gz
rails-35373219c91ea8096ef2f8e7f3c62bcd46f436be.tar.bz2
rails-35373219c91ea8096ef2f8e7f3c62bcd46f436be.zip
Raise an error only when `require_master_key` is specified
To prevent errors from being raise in environments where credentials is unnecessary. Context: https://github.com/rails/rails/issues/31283#issuecomment-348801489 Fixes #31283
Diffstat (limited to 'railties/lib/rails/commands/encrypted/encrypted_command.rb')
-rw-r--r--railties/lib/rails/commands/encrypted/encrypted_command.rb12
1 files changed, 10 insertions, 2 deletions
diff --git a/railties/lib/rails/commands/encrypted/encrypted_command.rb b/railties/lib/rails/commands/encrypted/encrypted_command.rb
index 898094f1a4..912c453f09 100644
--- a/railties/lib/rails/commands/encrypted/encrypted_command.rb
+++ b/railties/lib/rails/commands/encrypted/encrypted_command.rb
@@ -37,9 +37,9 @@ module Rails
def show(file_path)
require_application_and_environment!
+ encrypted = Rails.application.encrypted(file_path, key_path: options[:key])
- say Rails.application.encrypted(file_path, key_path: options[:key]).read.presence ||
- "File '#{file_path}' does not exist. Use bin/rails encrypted:edit #{file_path} to change that."
+ say encrypted.read.presence || missing_encrypted_message(key: encrypted.key, key_path: options[:key], file_path: file_path)
end
private
@@ -72,6 +72,14 @@ module Rails
Rails::Generators::EncryptedFileGenerator.new
end
+
+ def missing_encrypted_message(key:, key_path:, file_path:)
+ if key.nil?
+ "Missing '#{key_path}' to decrypt data. See bin/rails encrypted:help"
+ else
+ "File '#{file_path}' does not exist. Use bin/rails encrypted:edit #{file_path} to change that."
+ end
+ end
end
end
end