Class: Overcommit::HookContext::CommitMsg

Inherits:
Base
  • Object
show all
Defined in:
lib/overcommit/hook_context/commit_msg.rb

Overview

Contains helpers related to contextual information used by commit-msg hooks.

Instance Method Summary collapse

Methods inherited from Base

#cleanup_environment, #hook_class_name, #hook_script_name, #hook_type_name, #initialize, #modified_files, #modified_lines, #setup_environment

Constructor Details

This class inherits a constructor from Overcommit::HookContext::Base

Instance Method Details

#commit_messageObject

User commit message stripped of comments and diff (from verbose output).



5
6
7
# File 'lib/overcommit/hook_context/commit_msg.rb', line 5

def commit_message
  commit_message_lines.join
end

#commit_message_fileObject



22
23
24
# File 'lib/overcommit/hook_context/commit_msg.rb', line 22

def commit_message_file
  @args[0]
end

#commit_message_linesObject



16
17
18
19
20
# File 'lib/overcommit/hook_context/commit_msg.rb', line 16

def commit_message_lines
  raw_commit_message_lines.
    reject     { |line| line =~ /^#/ }.
    take_while { |line| !line.start_with?('diff --git') }
end

#update_commit_message(message) ⇒ Object

Updates the commit message to the specified text.



10
11
12
13
14
# File 'lib/overcommit/hook_context/commit_msg.rb', line 10

def update_commit_message(message)
  ::File.open(commit_message_file, 'w') do |file|
    file.write(message)
  end
end