Class: Gherkin::Pickles::Compiler

Inherits:
Object
  • Object
show all
Defined in:
lib/gherkin/pickles/compiler.rb

Instance Method Summary collapse

Instance Method Details

#compile(gherkin_document) ⇒ Object



4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# File 'lib/gherkin/pickles/compiler.rb', line 4

def compile(gherkin_document)
  pickles = []

  return pickles unless gherkin_document[:feature]
  feature = gherkin_document[:feature]
  feature_tags = feature[:tags]
  background_steps = []

  feature[:children].each do |scenario_definition|
    if(scenario_definition[:type] == :Background)
      background_steps = pickle_steps(scenario_definition)
    elsif(scenario_definition[:type] == :Scenario)
      compile_scenario(feature_tags, background_steps, scenario_definition, feature[:language], pickles)
    else
      compile_scenario_outline(feature_tags, background_steps, scenario_definition, feature[:language], pickles)
    end
  end
  return pickles
end