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



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

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

#add_step_definition(step_definition) ⇒ Object



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

def add_step_definition(step_definition)
  step_definitions << step_definition
  step_definition
end

#add_transform(transform) ⇒ Object



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

def add_transform(transform)
  transforms.unshift transform
  transform
end

#after(scenario) ⇒ Object



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

def after(scenario)
  execute_after(scenario)
  end_scenario
end

#after_configuration(configuration) ⇒ Object



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

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

#before(scenario) ⇒ Object



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

def before(scenario)
  begin_scenario
  execute_before(scenario)
end

#execute_after_step(scenario) ⇒ Object



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

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

#execute_transforms(args) ⇒ Object



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

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:



53
54
55
# File 'lib/cucumber/language_support/language_methods.rb', line 53

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

#step_definitionsObject



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

def step_definitions
  @step_definitions ||= []
end