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 45
def count_lines(file)
  File.foreach(file).count
end