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

Version Path
config_gems_initialization_aim-0.1.4 vendor/bundle/ruby/2.5.0/gems/config_gems_initialization_aim-0.1.1/vendor/bundle/ruby/2.5.0/gems/overcommit-0.46.0/lib/overcommit/hook_loader/base.rb
config_gems_initialization_aim-0.1.4 vendor/bundle/ruby/2.5.0/gems/overcommit-0.46.0/lib/overcommit/hook_loader/base.rb
config_gems_initialization_aim-0.1.3 vendor/bundle/ruby/2.5.0/gems/overcommit-0.46.0/lib/overcommit/hook_loader/base.rb
config_gems_initialization_aim-0.1.3 vendor/bundle/ruby/2.5.0/gems/config_gems_initialization_aim-0.1.1/vendor/bundle/ruby/2.5.0/gems/overcommit-0.46.0/lib/overcommit/hook_loader/base.rb
overcommit-0.46.0 lib/overcommit/hook_loader/base.rb
overcommit-0.45.0 lib/overcommit/hook_loader/base.rb
overcommit-0.44.0 lib/overcommit/hook_loader/base.rb
overcommit-0.43.0 lib/overcommit/hook_loader/base.rb
overcommit-0.42.0 lib/overcommit/hook_loader/base.rb
overcommit-0.41.0 lib/overcommit/hook_loader/base.rb
overcommit-0.40.0 lib/overcommit/hook_loader/base.rb
overcommit-0.39.1 lib/overcommit/hook_loader/base.rb
overcommit-0.39.0 lib/overcommit/hook_loader/base.rb
overcommit-0.38.0 lib/overcommit/hook_loader/base.rb
overcommit-0.37.0 lib/overcommit/hook_loader/base.rb
overcommit-0.36.0 lib/overcommit/hook_loader/base.rb
overcommit-0.35.0 lib/overcommit/hook_loader/base.rb
overcommit-0.34.2 lib/overcommit/hook_loader/base.rb
overcommit-0.34.1 lib/overcommit/hook_loader/base.rb
overcommit-0.34.0 lib/overcommit/hook_loader/base.rb