class Cucumber::Runtime::BeforeHooks

Public Class Methods

new(id_generator, hooks, scenario, event_bus) click to toggle source
# File lib/cucumber/runtime/before_hooks.rb, line 8
def initialize(id_generator, hooks, scenario, event_bus)
  @hooks = hooks
  @scenario = scenario
  @id_generator = id_generator
  @event_bus = event_bus
end

Public Instance Methods

apply_to(test_case) click to toggle source
# File lib/cucumber/runtime/before_hooks.rb, line 15
def apply_to(test_case)
  test_case.with_steps(
    before_hooks + test_case.test_steps
  )
end

Private Instance Methods

before_hooks() click to toggle source
# File lib/cucumber/runtime/before_hooks.rb, line 23
def before_hooks
  @hooks.map do |hook|
    action_block = ->(result) { hook.invoke('Before', @scenario.with_result(result)) }
    hook_step = Hooks.before_hook(@id_generator.new_id, hook.location, &action_block)
    @event_bus.hook_test_step_created(hook_step, hook)
    hook_step
  end
end