module Cucumber::Core
Public Instance Methods
compile(gherkin_documents, last_receiver, filters = [])
click to toggle source
# File lib/cucumber/core.rb, line 15 def compile(gherkin_documents, last_receiver, filters = []) first_receiver = compose(filters, last_receiver) compiler = Compiler.new(first_receiver) parse gherkin_documents, compiler self end
execute(gherkin_documents, report, filters = [])
click to toggle source
# File lib/cucumber/core.rb, line 9 def execute(gherkin_documents, report, filters = []) receiver = Test::Runner.new(report) compile gherkin_documents, receiver, filters self end
Private Instance Methods
compose(filters, last_receiver)
click to toggle source
# File lib/cucumber/core.rb, line 33 def compose(filters, last_receiver) filters.reverse.reduce(last_receiver) do |receiver, filter| filter.with_receiver(receiver) end end
parse(gherkin_documents, compiler)
click to toggle source
# File lib/cucumber/core.rb, line 24 def parse(gherkin_documents, compiler) parser = Core::Gherkin::Parser.new(compiler) gherkin_documents.each do |document| parser.document document end parser.done self end