class Cucumber::Core::Gherkin::AstBuilder::FeatureBuilder

Attributes

feature_element_builders[R]
language[R]

Public Class Methods

new(*) click to toggle source
# File lib/cucumber/core/gherkin/ast_builder.rb, line 123
def initialize(*)
  super
  @language = Ast::LanguageDelegator.new(attributes[:language], ::Gherkin::Dialect.for(attributes[:language]))
  @feature_element_builders = attributes[:children].map do |child|
    case child[:type]
    when :Background
      BackgroundBuilder.new(file, child)
    when :Scenario
      ScenarioBuilder.new(file, child)
    else 
      ScenarioOutlineBuilder.new(file, child)
    end
  end
end

Public Instance Methods

result() click to toggle source
# File lib/cucumber/core/gherkin/ast_builder.rb, line 138
def result
  Ast::Feature.new(
    language,
    location,
    comments,
    tags,
    keyword,
    name,
    description,
    feature_elements
  )
end

Private Instance Methods

children() click to toggle source
# File lib/cucumber/core/gherkin/ast_builder.rb, line 157
def children
  feature_element_builders
end
feature_elements() click to toggle source
# File lib/cucumber/core/gherkin/ast_builder.rb, line 153
def feature_elements
  feature_element_builders.map { |builder| builder.result(language) }
end