Module: CommitMeat::Installation
- Defined in:
- lib/commit-meat/installation.rb
Constant Summary collapse
- HOOK_PATH =
File.join '.git', 'hooks', 'commit-msg'
- HOOK_DIR =
File.join '.git', 'hooks'
- HOOK_CONTENT =
<<END #!/usr/bin/env ruby begin require 'commit-meat' rescue LoadError require 'rubygems' require 'commit-meat' end CommitMeat::run() END
Class Method Summary collapse
Class Method Details
.install ⇒ Object
18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
# File 'lib/commit-meat/installation.rb', line 18 def self.install if not File.directory?('.git') puts "You don't appear to be in the base directory of a git project.".red exit 1 end Dir.mkdir(HOOK_DIR) unless File.directory?(HOOK_DIR) if File.exists? HOOK_PATH puts "A pre-commit hook already exists for this project.".red exit 1 end File.open(HOOK_PATH, 'w') {|f| f.write(HOOK_CONTENT) } FileUtils.chmod 0755, HOOK_PATH puts "Installed Commit-Meat hook as:".green puts " -> #{File.(HOOK_PATH)}".green puts "(To remove later run: `commit-meat --uninstall`)." end |
.uninstall ⇒ Object
38 39 40 41 42 43 44 45 |
# File 'lib/commit-meat/installation.rb', line 38 def self.uninstall if File.exists? HOOK_PATH FileUtils.rm HOOK_PATH puts "Uninstalled Commit-Meat for this Git repository.".green else puts "Commit-Meat is not enabled for this directory, nothing was uninstalled.".yellow end end |