diff options
author | yuuji.yaginuma <yuuji.yaginuma@gmail.com> | 2017-11-30 08:01:21 +0900 |
---|---|---|
committer | Yuji Yaginuma <yuuji.yaginuma@gmail.com> | 2017-11-30 10:15:45 +0900 |
commit | f7e3c686685fb89e67293440d24356f93fa34847 (patch) | |
tree | 7cd59490462722a221493debe6e1e3388362357a | |
parent | d2aca50bbd69c7a12cdcbeaba3dbef2679927b90 (diff) | |
download | rails-f7e3c686685fb89e67293440d24356f93fa34847.tar.gz rails-f7e3c686685fb89e67293440d24356f93fa34847.tar.bz2 rails-f7e3c686685fb89e67293440d24356f93fa34847.zip |
Do not overwrite by default if credentials already exists
Fixes #31286
-rw-r--r-- | railties/lib/rails/generators/rails/credentials/credentials_generator.rb | 6 | ||||
-rw-r--r-- | railties/test/commands/credentials_test.rb | 8 |
2 files changed, 12 insertions, 2 deletions
diff --git a/railties/lib/rails/generators/rails/credentials/credentials_generator.rb b/railties/lib/rails/generators/rails/credentials/credentials_generator.rb index 067479c672..01a5b502f9 100644 --- a/railties/lib/rails/generators/rails/credentials/credentials_generator.rb +++ b/railties/lib/rails/generators/rails/credentials/credentials_generator.rb @@ -8,7 +8,7 @@ module Rails module Generators class CredentialsGenerator < Base def add_credentials_file - unless credentials.exist? + unless credentials.content_path.exist? template = credentials_template say "Adding #{credentials.content_path} to store encrypted credentials." @@ -26,7 +26,9 @@ module Rails end def add_credentials_file_silently(template = nil) - credentials.write(credentials_template) + unless credentials.content_path.exist? + credentials.write(credentials_template) + end end private diff --git a/railties/test/commands/credentials_test.rb b/railties/test/commands/credentials_test.rb index 4ef827fcf1..f1bb1ef08a 100644 --- a/railties/test/commands/credentials_test.rb +++ b/railties/test/commands/credentials_test.rb @@ -39,6 +39,14 @@ class Rails::Command::CredentialsCommandTest < ActiveSupport::TestCase end end + test "edit command does not overwrite by default if credentials already exists" do + run_edit_command(editor: "eval echo api_key: abc >") + assert_match(/api_key: abc/, run_show_command) + + run_edit_command + assert_match(/api_key: abc/, run_show_command) + end + private def run_edit_command(editor: "cat") switch_env("EDITOR", editor) do |