Module: Cucumber::LanguageSupport::LanguageMethods

Included in:
RbSupport::RbLanguage
Defined in:
lib/cucumber/language_support/language_methods.rb

Instance Method Summary collapse

Instance Method Details

#add_hook(phase, hook) ⇒ Object



40
41
42
43
# File 'lib/cucumber/language_support/language_methods.rb', line 40

def add_hook(phase, hook)
  hooks[phase.to_sym] << hook
  hook
end

#add_transform(transform) ⇒ Object



45
46
47
48
# File 'lib/cucumber/language_support/language_methods.rb', line 45

def add_transform(transform)
  transforms.unshift transform
  transform
end

#after(scenario) ⇒ Object



15
16
17
18
# File 'lib/cucumber/language_support/language_methods.rb', line 15

def after(scenario)
  execute_after(scenario)
  end_scenario
end

#after_configuration(configuration) ⇒ Object



20
21
22
23
24
# File 'lib/cucumber/language_support/language_methods.rb', line 20

def after_configuration(configuration)
  hooks[:after_configuration].each do |hook|
    hook.invoke('AfterConfiguration', configuration)
  end
end

#before(scenario) ⇒ Object



10
11
12
13
# File 'lib/cucumber/language_support/language_methods.rb', line 10

def before(scenario)
  begin_scenario
  execute_before(scenario)
end

#create_step_match(step_definition, step_name, formatted_step_name, step_arguments) ⇒ Object



6
7
8
# File 'lib/cucumber/language_support/language_methods.rb', line 6

def create_step_match(step_definition, step_name, formatted_step_name, step_arguments)
  StepMatch.new(step_definition, step_name, formatted_step_name, step_arguments)
end

#execute_after_step(scenario) ⇒ Object



26
27
28
29
30
# File 'lib/cucumber/language_support/language_methods.rb', line 26

def execute_after_step(scenario)
  hooks_for(:after_step, scenario).each do |hook|
    invoke(hook, 'AfterStep', scenario, false)
  end
end

#execute_transforms(args) ⇒ Object



32
33
34
35
36
37
38
# File 'lib/cucumber/language_support/language_methods.rb', line 32

def execute_transforms(args)
  transformed = nil
  args.map do |arg|
    transforms.detect {|t| transformed = t.invoke arg }
    transformed || arg
  end
end

#hooks_for(phase, scenario) ⇒ Object

:nodoc:



50
51
52
# File 'lib/cucumber/language_support/language_methods.rb', line 50

def hooks_for(phase, scenario) #:nodoc:
  hooks[phase.to_sym].select{|hook| scenario.accept_hook?(hook)}
end