diff options
author | Kasper Timm Hansen <kaspth@gmail.com> | 2017-05-23 21:54:01 +0200 |
---|---|---|
committer | Kasper Timm Hansen <kaspth@gmail.com> | 2017-05-25 15:56:55 +0200 |
commit | 0338c81dc2ab6ef35fe68461e39c0bad0af5bb95 (patch) | |
tree | 61b3d298cc76ddf4e01995b15462d8d2c4285266 /railties/lib/rails/commands | |
parent | f50471751942730e3311f8c04ae4d97365ab3243 (diff) | |
download | rails-0338c81dc2ab6ef35fe68461e39c0bad0af5bb95.tar.gz rails-0338c81dc2ab6ef35fe68461e39c0bad0af5bb95.tar.bz2 rails-0338c81dc2ab6ef35fe68461e39c0bad0af5bb95.zip |
Reorder first secrets edit flow.
Setup config/secrets.yml.enc with template contents for people to edit.
Then generate encryption key and encrypt the initial secrets.
Diffstat (limited to 'railties/lib/rails/commands')
-rw-r--r-- | railties/lib/rails/commands/secrets/secrets_command.rb | 20 |
1 files changed, 16 insertions, 4 deletions
diff --git a/railties/lib/rails/commands/secrets/secrets_command.rb b/railties/lib/rails/commands/secrets/secrets_command.rb index 76e13a6e49..651411d444 100644 --- a/railties/lib/rails/commands/secrets/secrets_command.rb +++ b/railties/lib/rails/commands/secrets/secrets_command.rb @@ -13,10 +13,7 @@ module Rails end def setup - require "rails/generators" - require "rails/generators/rails/encrypted_secrets/encrypted_secrets_generator" - - Rails::Generators::EncryptedSecretsGenerator.start + generator.start end def edit @@ -42,7 +39,22 @@ module Rails say "Aborted changing encrypted secrets: nothing saved." rescue Rails::Secrets::MissingKeyError => error say error.message + rescue Errno::ENOENT => error + raise unless error.message =~ /secrets\.yml\.enc/ + + Rails::Secrets.read_template_for_editing do |tmp_path| + system("\$EDITOR #{tmp_path}") + generator.skip_secrets_file { setup } + end end + + private + def generator + require "rails/generators" + require "rails/generators/rails/encrypted_secrets/encrypted_secrets_generator" + + Rails::Generators::EncryptedSecretsGenerator + end end end end |