module Cucumber::Core
Public Instance Methods
compile(gherkin_documents, last_receiver, filters = [], event_bus = EventBus.new)
click to toggle source
# File lib/cucumber/core.rb, line 20 def compile(gherkin_documents, last_receiver, filters = [], event_bus = EventBus.new) first_receiver = compose(filters, last_receiver) gherkin_query = ::Gherkin::Query.new compiler = Compiler.new(first_receiver, gherkin_query, event_bus) parse gherkin_documents, compiler, event_bus, gherkin_query self end
execute(gherkin_documents, filters = [], event_bus = EventBus.new) { |event_bus| ... }
click to toggle source
# File lib/cucumber/core.rb, line 13 def execute(gherkin_documents, filters = [], event_bus = EventBus.new) yield event_bus if block_given? receiver = Test::Runner.new(event_bus) compile gherkin_documents, receiver, filters, event_bus self end
Private Instance Methods
compose(filters, last_receiver)
click to toggle source
# File lib/cucumber/core.rb, line 39 def compose(filters, last_receiver) filters.reverse.reduce(last_receiver) do |receiver, filter| filter.with_receiver(receiver) end end
parse(gherkin_documents, compiler, event_bus, gherkin_query)
click to toggle source
# File lib/cucumber/core.rb, line 30 def parse(gherkin_documents, compiler, event_bus, gherkin_query) parser = Core::Gherkin::Parser.new(compiler, event_bus, gherkin_query) gherkin_documents.each do |document| parser.document document end parser.done self end