Class: Cucumber::Core::Gherkin::AstBuilder::StepBuilder

Inherits:
Builder
  • Object
show all
Defined in:
lib/cucumber/core/gherkin/ast_builder.rb

Direct Known Subclasses

OutlineStepBuilder

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods inherited from Builder

#handle_comments

Constructor Details

#initializeStepBuilder

Returns a new instance of StepBuilder.



222
223
224
225
# File 'lib/cucumber/core/gherkin/ast_builder.rb', line 222

def initialize(*)
  super
  @multiline_argument_builder = attributes[:argument] ? argument_builder(attributes[:argument]) : nil
end

Instance Attribute Details

#multiline_argument_builderObject (readonly)

Returns the value of attribute multiline_argument_builder.



220
221
222
# File 'lib/cucumber/core/gherkin/ast_builder.rb', line 220

def multiline_argument_builder
  @multiline_argument_builder
end

Instance Method Details

#childrenObject



243
244
245
246
# File 'lib/cucumber/core/gherkin/ast_builder.rb', line 243

def children
  return [] unless multiline_argument_builder
  [multiline_argument_builder]
end

#multiline_argumentObject



238
239
240
241
# File 'lib/cucumber/core/gherkin/ast_builder.rb', line 238

def multiline_argument
  return Ast::EmptyMultilineArgument.new unless multiline_argument_builder
  multiline_argument_builder.result
end

#result(language) ⇒ Object



227
228
229
230
231
232
233
234
235
236
# File 'lib/cucumber/core/gherkin/ast_builder.rb', line 227

def result(language)
  Ast::Step.new(
    language,
    location,
    comments,
    keyword,
    attributes[:text],
    multiline_argument
  )
end