class DreddHooks::Server::EventsHandler

Attributes

events[R]
runner[R]

Public Class Methods

new(events=EVENTS, runner=Runner.instance) click to toggle source
# File lib/dredd_hooks/server/events_handler.rb, line 13
def initialize(events=EVENTS, runner=Runner.instance)
  @events = events
  @runner = runner
end

Public Instance Methods

handle(event, transaction) click to toggle source
# File lib/dredd_hooks/server/events_handler.rb, line 18
def handle(event, transaction)

  events.fetch(event.to_sym, []).each do |hook_name|
    method_name = "run_#{hook_name}_hooks_for_transaction"
    if runner.respond_to?(method_name)
      transaction = runner.send(method_name, transaction)
    else
      raise UnknownHookError.new(hook_name)
    end
  end

  transaction
end