aboutsummaryrefslogtreecommitdiffstats
path: root/railties
diff options
context:
space:
mode:
authoryuuji.yaginuma <yuuji.yaginuma@gmail.com>2017-07-06 21:40:33 +0900
committeryuuji.yaginuma <yuuji.yaginuma@gmail.com>2017-07-07 07:22:01 +0900
commitaf5368eeff693bcb8e64b96df93691ded8908f1c (patch)
tree33c7d996fcd563e610e7454576c28a60b3fe4adf /railties
parentc8ce3459648ce0f86646b564ce1c0bb16a4b48eb (diff)
downloadrails-af5368eeff693bcb8e64b96df93691ded8908f1c.tar.gz
rails-af5368eeff693bcb8e64b96df93691ded8908f1c.tar.bz2
rails-af5368eeff693bcb8e64b96df93691ded8908f1c.zip
Add `rails secrets:show` command
When secrets confirmed with the `secrets:edit` command, `secrets.yml.enc` will change without updating the secrets. Therefore, even if only want to check secrets, the difference will come out. This is a little inconvenient. In order to solve this problem, added the `secrets:show` command. If just want to check secrets, no difference will occur use this command.
Diffstat (limited to 'railties')
-rw-r--r--railties/CHANGELOG.md4
-rw-r--r--railties/lib/rails/commands/secrets/secrets_command.rb4
-rw-r--r--railties/test/command/base_test.rb2
-rw-r--r--railties/test/commands/secrets_test.rb13
4 files changed, 22 insertions, 1 deletions
diff --git a/railties/CHANGELOG.md b/railties/CHANGELOG.md
index d1ccf5d97d..e837a07623 100644
--- a/railties/CHANGELOG.md
+++ b/railties/CHANGELOG.md
@@ -1,3 +1,7 @@
+* Add `rails secrets:show` command.
+
+ *Yuji Yaginuma*
+
* Allow mounting the same engine several times in different locations.
Fixes #20204.
diff --git a/railties/lib/rails/commands/secrets/secrets_command.rb b/railties/lib/rails/commands/secrets/secrets_command.rb
index 9e530f5e23..45e02fa730 100644
--- a/railties/lib/rails/commands/secrets/secrets_command.rb
+++ b/railties/lib/rails/commands/secrets/secrets_command.rb
@@ -48,6 +48,10 @@ module Rails
end
end
+ def show
+ say Rails::Secrets.read
+ end
+
private
def generator
require_relative "../../generators"
diff --git a/railties/test/command/base_test.rb b/railties/test/command/base_test.rb
index ebfc4d0ba9..bac3285f48 100644
--- a/railties/test/command/base_test.rb
+++ b/railties/test/command/base_test.rb
@@ -6,6 +6,6 @@ require "rails/commands/secrets/secrets_command"
class Rails::Command::BaseTest < ActiveSupport::TestCase
test "printing commands" do
assert_equal %w(generate), Rails::Command::GenerateCommand.printing_commands
- assert_equal %w(secrets:setup secrets:edit), Rails::Command::SecretsCommand.printing_commands
+ assert_equal %w(secrets:setup secrets:edit secrets:show), Rails::Command::SecretsCommand.printing_commands
end
end
diff --git a/railties/test/commands/secrets_test.rb b/railties/test/commands/secrets_test.rb
index be610f3b47..3771919849 100644
--- a/railties/test/commands/secrets_test.rb
+++ b/railties/test/commands/secrets_test.rb
@@ -27,8 +27,21 @@ class Rails::Command::SecretsCommandTest < ActiveSupport::TestCase
end
end
+ test "show secrets" do
+ run_setup_command
+ assert_match(/external_api_key: 1466aac22e6a869134be3d09b9e89232fc2c2289/, run_show_command)
+ end
+
private
def run_edit_command(editor: "cat")
Dir.chdir(app_path) { `EDITOR="#{editor}" bin/rails secrets:edit` }
end
+
+ def run_show_command
+ Dir.chdir(app_path) { `bin/rails secrets:show` }
+ end
+
+ def run_setup_command
+ Dir.chdir(app_path) { `bin/rails secrets:setup` }
+ end
end