class Cucumber::Core::Gherkin::AstBuilder::ExamplesTableBuilder

Attributes

example_rows_builders[R]
header_builder[R]

Public Class Methods

new(*) click to toggle source
# File lib/cucumber/core/gherkin/ast_builder.rb, line 306
def initialize(*)
  super
  @header_builder = attributes[:table_header] ? HeaderBuilder.new(file, attributes[:table_header]) : NullHeaderBuilder.new
  @example_rows_builders = attributes[:table_body] ? attributes[:table_body].map { |row_attributes| ExampleRowBuilder.new(file, row_attributes) } : []
end

Public Instance Methods

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

Private Instance Methods

children() click to toggle source
# File lib/cucumber/core/gherkin/ast_builder.rb, line 352
def children
  [header_builder] + example_rows_builders
end
example_rows(language) click to toggle source
# File lib/cucumber/core/gherkin/ast_builder.rb, line 331
def example_rows(language)
  example_rows_builders.each.with_index.map { |builder, index| builder.result(language, header, index) }
end
header() click to toggle source
# File lib/cucumber/core/gherkin/ast_builder.rb, line 327
def header
  @header = header_builder.result
end