Module: GitHooks

Defined in:
lib/git-hooks.rb,
lib/git_hooks/cli.rb,
lib/git_hooks/git.rb,
lib/git_hooks/version.rb,
lib/git_hooks/installer.rb,
lib/git_hooks/pre_commit.rb,
lib/git_hooks/config_file.rb,
lib/git_hooks/configurations.rb,
lib/git_hooks/rspec_executor.rb,
lib/git_hooks/pre_commit/rspec.rb,
lib/git_hooks/rubocop_validator.rb,
lib/git_hooks/pre_commit/rubocop.rb,
lib/git_hooks/exceptions/missing_hooks.rb,
lib/git_hooks/pre_commit/prevent_master.rb,
lib/git_hooks/pre_commit/prevent_debugger.rb,
lib/git_hooks/trailing_whitespace_validator.rb,
lib/git_hooks/pre_commit/trailing_whitespace.rb,
lib/git_hooks/exceptions/unknown_hook_present.rb

Defined Under Namespace

Modules: Exceptions, PreCommit Classes: CLI, ConfigFile, Configurations, Git, Installer, RspecExecutor, RubocopValidator, TrailingWhitespaceValidator

Constant Summary collapse

HOOK_SAMPLE_FILE =
'hook.sample'
HOOKS =
[PRE_COMMIT = 'pre-commit']
VERSION =
'0.5.0'

Class Attribute Summary collapse

Class Method Summary collapse

Class Attribute Details

.configurationsObject



34
35
36
# File 'lib/git-hooks.rb', line 34

def configurations
  @configurations ||= Configurations.new
end

Class Method Details

.base_pathObject



38
39
40
# File 'lib/git-hooks.rb', line 38

def base_path
  File.expand_path('../..', __FILE__)
end

.execute_pre_commitsObject



26
27
28
29
30
31
32
# File 'lib/git-hooks.rb', line 26

def execute_pre_commits
  configurations.pre_commits.each do |pre_commit, options|
    puts "Executing #{pre_commit}"
    pre_commit_checker = GitHooks::PreCommit.const_get(pre_commit)
    pre_commit_checker.validate(options)
  end
end

.validate_hooks!Object



42
43
44
# File 'lib/git-hooks.rb', line 42

def validate_hooks!
  fail Exceptions::MissingHook, PRE_COMMIT unless valid_pre_commit_hook?
end