Sha256: 69091ef87c8932f110288d02d2d28e8d9f445cd9dbfa1a89b950a68069812db9
Contents?: true
Size: 1015 Bytes
Versions: 37
Compression:
Stored size: 1015 Bytes
Contents
module Overcommit::HookLoader # Responsible for loading hooks from a file. class Base # @param config [Overcommit::Configuration] # @param context [Overcommit::HookContext] # @param logger [Overcommit::Logger] def initialize(config, context, logger) @config = config @context = context @log = logger end # When implemented in subclasses, loads the hooks for which that subclass is # responsible. # # @return [Array<Hook>] def load_hooks raise NotImplementedError end private attr_reader :log # Load and return a {Hook} from a CamelCase hook name. def create_hook(hook_name) Overcommit::Hook.const_get(@context.hook_class_name). const_get(hook_name). new(@config, @context) rescue LoadError, NameError => error raise Overcommit::Exceptions::HookLoadError, "Unable to load hook '#{hook_name}': #{error}", error.backtrace end end end
Version data entries
37 entries across 35 versions & 3 rubygems