Sha256: d5cab2ab9edca762ecc3b348c8baf222ef0d967342d8ca09e75283c27c344355

Contents?: true

Size: 595 Bytes

Versions: 2

Compression:

Stored size: 595 Bytes

Contents

require 'gherkin3/token_scanner'
require 'gherkin3/token_matcher'

module Cucumber
  module Gherkin
    class DataTableParser
      def initialize(builder)
        @builder = builder
      end
      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
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
cucumber-2.2.0 lib/cucumber/gherkin/data_table_parser.rb
cucumber-2.1.0 lib/cucumber/gherkin/data_table_parser.rb