class Overcommit::HookContext::RunAll
Simulates a pre-commit context pretending that all files have been changed.
This results in pre-commit hooks running against the entire repository, which is useful for automated CI scripts.
Public Instance Methods
hook_class_name()
click to toggle source
# File lib/overcommit/hook_context/run_all.rb, line 25 def hook_class_name 'PreCommit' end
hook_script_name()
click to toggle source
# File lib/overcommit/hook_context/run_all.rb, line 33 def hook_script_name 'pre-commit' end
hook_type_name()
click to toggle source
# File lib/overcommit/hook_context/run_all.rb, line 29 def hook_type_name 'pre_commit' end
initial_commit?()
click to toggle source
# File lib/overcommit/hook_context/run_all.rb, line 37 def initial_commit? return @initial_commit unless @initial_commit.nil? @initial_commit = Overcommit::GitRepo.initial_commit? end
modified_files()
click to toggle source
# File lib/overcommit/hook_context/run_all.rb, line 11 def modified_files @modified_files ||= all_files end
modified_lines_in_file(file)
click to toggle source
Returns all lines in the file since in this context the entire repo is being scrutinized.
@param file [String] @return [Set]
# File lib/overcommit/hook_context/run_all.rb, line 20 def modified_lines_in_file(file) @modified_lines_in_file ||= {} @modified_lines_in_file[file] ||= Set.new(1..count_lines(file)) end
Private Instance Methods
count_lines(file)
click to toggle source
# File lib/overcommit/hook_context/run_all.rb, line 44 def count_lines(file) File.foreach(file).count end