diff options
author | Kasper Timm Hansen <kaspth@gmail.com> | 2019-08-03 23:06:47 +0200 |
---|---|---|
committer | Kasper Timm Hansen <kaspth@gmail.com> | 2019-08-03 23:06:47 +0200 |
commit | af2880bdda3c151b295cf0cfed691134d628e9bc (patch) | |
tree | 9dc0e4c24860190e614d6164ed32fa01471766be /railties/lib/rails/command | |
parent | 99650550e8dbd7a2f3248d5a0231dda92f58b111 (diff) | |
download | rails-af2880bdda3c151b295cf0cfed691134d628e9bc.tar.gz rails-af2880bdda3c151b295cf0cfed691134d628e9bc.tar.bz2 rails-af2880bdda3c151b295cf0cfed691134d628e9bc.zip |
Rename to Diffing and move module into credentials command
Helpers is more for sharing between commands. Since `Diffing` is only
for credentials we should just keep it only for credentials.
Replaces "pretty" with diffing since the former is ambiguous, while
diffing captures what it does. `opt_in` seemed clunky so it's swapped
for the one-word enable.
Diffstat (limited to 'railties/lib/rails/command')
-rw-r--r-- | railties/lib/rails/command/helpers/pretty_credentials.rb | 55 |
1 files changed, 0 insertions, 55 deletions
diff --git a/railties/lib/rails/command/helpers/pretty_credentials.rb b/railties/lib/rails/command/helpers/pretty_credentials.rb deleted file mode 100644 index 873ed0e825..0000000000 --- a/railties/lib/rails/command/helpers/pretty_credentials.rb +++ /dev/null @@ -1,55 +0,0 @@ -# frozen_string_literal: true - -require "fileutils" - -module Rails - module Command - module Helpers - module PrettyCredentials - Error = Class.new(StandardError) - - def opt_in_pretty_credentials - unless already_answered? || already_opted_in? - answer = yes?("Would you like to make the credentials diff from git more readable in the future? [Y/n]") - end - - opt_in! if answer - FileUtils.touch(tracker) unless answer.nil? - rescue Error - say("Couldn't setup git to prettify the credentials diff") - end - - private - def already_answered? - tracker.exist? - end - - def already_opted_in? - system_call("git config --get 'diff.rails_credentials.textconv'", accepted_codes: [0, 1]) - end - - def opt_in! - system_call("git config diff.rails_credentials.textconv 'bin/rails credentials:show'", accepted_codes: [0]) - - git_attributes = Rails.root.join(".gitattributes") - File.open(git_attributes, "a+") do |file| - file.write(<<~EOM) - config/credentials/*.yml.enc diff=rails_credentials - config/credentials.yml.enc diff=rails_credentials - EOM - end - end - - def tracker - Rails.root.join("tmp", "rails_pretty_credentials") - end - - def system_call(command_line, accepted_codes:) - result = system(command_line) - raise(Error) if accepted_codes.exclude?($?.exitstatus) - result - end - end - end - end -end |