class Cucumber::Gherkin::StepsParser
Public Class Methods
new(builder, language)
click to toggle source
# File lib/cucumber/gherkin/steps_parser.rb, line 8 def initialize(builder, language) @builder = builder @language = language end
Public Instance Methods
feature_header(dialect)
click to toggle source
# File lib/cucumber/gherkin/steps_parser.rb, line 34 def feature_header(dialect) %(#{dialect.feature_keywords[0]}: #{dialect.scenario_keywords[0]}: ) end
gherkin_options()
click to toggle source
# File lib/cucumber/gherkin/steps_parser.rb, line 25 def gherkin_options { default_dialect: @language, include_source: false, include_gherkin_document: true, include_pickles: false } end
parse(text)
click to toggle source
# File lib/cucumber/gherkin/steps_parser.rb, line 13 def parse(text) dialect = ::Gherkin::Dialect.for(@language) gherkin_document = nil messages = ::Gherkin.from_source('dummy', feature_header(dialect) + text, gherkin_options) messages.each do |message| gherkin_document = message.gherkin_document.to_h unless message.gherkin_document.nil? end @builder.steps(gherkin_document[:feature][:children][0][:scenario][:steps]) end