Class: PreCommit::Cli
- Inherits:
-
Object
- Object
- PreCommit::Cli
- Defined in:
- lib/pre-commit/cli.rb
Constant Summary collapse
- PRE_COMMIT_HOOK_PATH =
'.git/hooks/pre-commit'
Instance Method Summary collapse
- #answered_yes?(answer) ⇒ Boolean
- #ask_to_overwrite ⇒ Object
- #install ⇒ Object
- #install_pre_commit_hook ⇒ Object
Instance Method Details
#answered_yes?(answer) ⇒ Boolean
9 10 11 |
# File 'lib/pre-commit/cli.rb', line 9 def answered_yes?(answer) answer =~ /y\n/i || answer == "\n" end |
#ask_to_overwrite ⇒ Object
21 22 23 24 25 26 27 28 29 30 31 32 33 |
# File 'lib/pre-commit/cli.rb', line 21 def ask_to_overwrite puts "pre-commit: WARNING There is already a pre-commit hook installed in this git repo." print "Would you like to overwrite it? [Yn] " answer = $stdin.gets if answered_yes?(answer) FileUtils.rm(PRE_COMMIT_HOOK_PATH) else puts "Not overwriting existing hook: #{PRE_COMMIT_HOOK_PATH}" puts exit(1) end end |
#install ⇒ Object
13 14 15 16 17 18 19 |
# File 'lib/pre-commit/cli.rb', line 13 def install if File.exists?(PRE_COMMIT_HOOK_PATH) ask_to_overwrite end install_pre_commit_hook end |
#install_pre_commit_hook ⇒ Object
35 36 37 38 39 |
# File 'lib/pre-commit/cli.rb', line 35 def install_pre_commit_hook hook = File.join(PreCommit.root, 'templates', 'pre-commit-hook') FileUtils.cp(hook, PRE_COMMIT_HOOK_PATH) FileUtils.chmod(0755, PRE_COMMIT_HOOK_PATH) end |