Module: Cucumber::LanguageSupport::LanguageMethods
- Included in:
- RbSupport::RbLanguage
- Defined in:
- lib/cucumber/language_support/language_methods.rb
Instance Method Summary collapse
- #add_hook(phase, hook) ⇒ Object
- #add_transform(transform) ⇒ Object
- #after(scenario) ⇒ Object
- #after_configuration(configuration) ⇒ Object
- #before(scenario) ⇒ Object
- #create_step_match(step_definition, step_name, formatted_step_name, step_arguments) ⇒ Object
- #execute_after_step(scenario) ⇒ Object
- #execute_transforms(args) ⇒ Object
-
#hooks_for(phase, scenario) ⇒ Object
:nodoc:.
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 |