class Cucumber::StepMother::Hook

def execute_in(world, scenario, location, exception_fails_scenario = true)

def execute_in(world, scenario, location, exception_fails_scenario = true)
  begin
    world.cucumber_instance_exec(false, location, scenario, &@proc)
  rescue Exception => exception
    if exception_fails_scenario
      scenario.fail!(exception)
    else
      raise
    end
  end
end

def initialize(tag_names, proc)

def initialize(tag_names, proc)
  @tag_names = tag_names.map{|tag| Ast::Tags.strip_prefix(tag)}
  @proc = proc
end

def matches_tag_names?(tag_names)

def matches_tag_names?(tag_names)
  @tag_names.empty? || (@tag_names & tag_names).any?
end