diff options
author | Jeffrey Guenther <guenther.jeffrey@gmail.com> | 2017-11-20 17:01:27 -0800 |
---|---|---|
committer | Jeffrey Guenther <guenther.jeffrey@gmail.com> | 2017-11-20 17:01:27 -0800 |
commit | c73001f4b7b5aae12a64be0c827c14739c0ba124 (patch) | |
tree | 2fff88211b4b88105ac0a78f549d5ca4d46246e1 /railties/lib/rails/command | |
parent | 686b3466bab78ca69eaab98d76cc489d84d5eb62 (diff) | |
parent | 1d24e47140356f136471d15e3ce3fa427f4430c2 (diff) | |
download | rails-c73001f4b7b5aae12a64be0c827c14739c0ba124.tar.gz rails-c73001f4b7b5aae12a64be0c827c14739c0ba124.tar.bz2 rails-c73001f4b7b5aae12a64be0c827c14739c0ba124.zip |
Merge branch 'master' into activestorage-guide
Diffstat (limited to 'railties/lib/rails/command')
-rw-r--r-- | railties/lib/rails/command/helpers/editor.rb | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/railties/lib/rails/command/helpers/editor.rb b/railties/lib/rails/command/helpers/editor.rb new file mode 100644 index 0000000000..5e9ecc05e7 --- /dev/null +++ b/railties/lib/rails/command/helpers/editor.rb @@ -0,0 +1,33 @@ +require "active_support/encrypted_file" + +module Rails + module Command + module Helpers + module Editor + private + def ensure_editor_available(command:) + if ENV["EDITOR"].to_s.empty? + say "No $EDITOR to open file in. Assign one like this:" + say "" + say %(EDITOR="mate --wait" #{command}) + say "" + say "For editors that fork and exit immediately, it's important to pass a wait flag," + say "otherwise the credentials will be saved immediately with no chance to edit." + + false + else + true + end + end + + def catch_editing_exceptions + yield + rescue Interrupt + say "Aborted changing file: nothing saved." + rescue ActiveSupport::EncryptedFile::MissingKeyError => error + say error.message + end + end + end + end +end |