class Cucumber::Gherkin::DataTableParser

Public Class Methods

new(builder) click to toggle source
# File lib/cucumber/gherkin/data_table_parser.rb, line 7
def initialize(builder)
  @builder = builder
end

Public Instance Methods

parse(text) click to toggle source
# File lib/cucumber/gherkin/data_table_parser.rb, line 10
def parse(text)
  scanner = ::Gherkin3::TokenScanner.new(text)
  matcher = ::Gherkin3::TokenMatcher.new
  token = scanner.read
  until matcher.match_EOF(token) do
    if matcher.match_TableRow(token)
      @builder.row(token.matched_items.map { |cell_item| cell_item.text })
    end
    token = scanner.read
  end