Class: Cucumber::Core::Ast::OutlineStep

Inherits:
Object
  • Object
show all
Includes:
DescribesItself, HasLocation
Defined in:
lib/cucumber/core/ast/outline_step.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from DescribesItself

#describe_to

Methods included from HasLocation

#attributes, #comments, #file, #file_colon_line, #line, #match_locations?, #tags

Constructor Details

#initialize(gherkin_statement, language, location, keyword, name, multiline_arg) ⇒ OutlineStep

Returns a new instance of OutlineStep.



15
16
17
18
# File 'lib/cucumber/core/ast/outline_step.rb', line 15

def initialize(gherkin_statement, language, location, keyword, name, multiline_arg)
  @gherkin_statement, @language, @location, @keyword, @name, @multiline_arg = gherkin_statement, language, location, keyword, name, multiline_arg
  @language || raise("Language is required!")
end

Instance Attribute Details

#gherkin_statementObject (readonly)

Returns the value of attribute gherkin_statement.



13
14
15
# File 'lib/cucumber/core/ast/outline_step.rb', line 13

def gherkin_statement
  @gherkin_statement
end

#keywordObject (readonly)

Returns the value of attribute keyword.



13
14
15
# File 'lib/cucumber/core/ast/outline_step.rb', line 13

def keyword
  @keyword
end

#languageObject (readonly)

Returns the value of attribute language.



13
14
15
# File 'lib/cucumber/core/ast/outline_step.rb', line 13

def language
  @language
end

#locationObject (readonly)

Returns the value of attribute location.



13
14
15
# File 'lib/cucumber/core/ast/outline_step.rb', line 13

def location
  @location
end

#multiline_argObject (readonly)

Returns the value of attribute multiline_arg.



13
14
15
# File 'lib/cucumber/core/ast/outline_step.rb', line 13

def multiline_arg
  @multiline_arg
end

#nameObject (readonly)

Returns the value of attribute name.



13
14
15
# File 'lib/cucumber/core/ast/outline_step.rb', line 13

def name
  @name
end

Instance Method Details

#inspectObject



24
25
26
27
# File 'lib/cucumber/core/ast/outline_step.rb', line 24

def inspect
  keyword_and_name = [keyword, name].join(": ")
  %{#<#{self.class} "#{keyword_and_name}" (#{location})>}
end

#to_step(row) ⇒ Object



20
21
22
# File 'lib/cucumber/core/ast/outline_step.rb', line 20

def to_step(row)
  Ast::ExpandedOutlineStep.new(self, gherkin_statement, language, row.location, keyword, row.expand(name), replace_multiline_arg(row))
end