# File lib/cucumber/core/gherkin/parser.rb, line 16 def initialize(receiver) @receiver = receiver end
# 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
# File lib/cucumber/core/gherkin/parser.rb, line 34 def done receiver.done self end