class Turnip::Node::Step

@note Step metadata generated by Gherkin

{
  type: :Step,
  location: { line: 10, column: 3 },
  keyword: 'Step',
  text: 'Step description',
  argument: {}, # DocString or DataTable
}

Public Instance Methods

argument() click to toggle source
# File lib/turnip/node/step.rb, line 33
def argument
  @argument ||= case
                when @raw[:doc_string]
                  doc_string(@raw[:doc_string])
                when @raw[:data_table]
                  data_table(@raw[:data_table])
                end
end
description() click to toggle source

Backward compatibility

# File lib/turnip/node/step.rb, line 29
def description
  text
end
keyword() click to toggle source
# File lib/turnip/node/step.rb, line 18
def keyword
  @raw[:keyword]
end
text() click to toggle source
# File lib/turnip/node/step.rb, line 22
def text
  @raw[:text]
end
to_s() click to toggle source
# File lib/turnip/node/step.rb, line 42
def to_s
  "#{keyword}#{text}"
end

Private Instance Methods

data_table(table) click to toggle source
# File lib/turnip/node/step.rb, line 52
def data_table(table)
  rows = table[:rows].map do |row|
    row[:cells].map do |cell|
      cell[:value]
    end
  end
  Turnip::Table.new(rows)
end
doc_string(doc) click to toggle source
# File lib/turnip/node/step.rb, line 48
def doc_string(doc)
  doc[:content]
end