class Cucumber::Core::Gherkin::Parser

Constants

PARSER_ERRORS

Attributes

receiver[R]

Public Class Methods

new(receiver) click to toggle source
# File lib/cucumber/core/gherkin/parser.rb, line 16
def initialize(receiver)
  @receiver = receiver
end

Public Instance Methods

document(document) click to toggle source
# File lib/cucumber/core/gherkin/parser.rb, line 20
def document(document)
  parser  = ::Gherkin::Parser.new
  scanner = ::Gherkin::TokenScanner.new(document.body)
  core_builder = AstBuilder.new(document.uri)

  begin
    result = parser.parse(scanner)

    receiver.feature core_builder.feature(result)
  rescue *PARSER_ERRORS => e
    raise Core::Gherkin::ParseError.new("#{document.uri}: #{e.message}")
  end
end
done() click to toggle source
# File lib/cucumber/core/gherkin/parser.rb, line 34
def done
  receiver.done
  self
end