class Cucumber::Core::Ast::Step

Attributes

comments[R]
exception[R]
keyword[R]
language[R]
multiline_arg[R]
name[R]

Public Class Methods

new(language, location, comments, keyword, name, multiline_arg) click to toggle source
# File lib/cucumber/core/ast/step.rb, line 13
def initialize(language, location, comments, keyword, name, multiline_arg)
  @language, @location, @comments, @keyword, @name, @multiline_arg = language, location, comments, keyword, name, multiline_arg
end

Public Instance Methods

actual_keyword(previous_step_keyword = nil) click to toggle source
# File lib/cucumber/core/ast/step.rb, line 25
def actual_keyword(previous_step_keyword = nil)
  if [language.and_keywords, language.but_keywords].flatten.uniq.include? keyword
    if previous_step_keyword.nil?
      language.given_keywords.reject{|kw| kw == '* '}[0]
    else
      previous_step_keyword
    end
  else
    keyword
  end
end
backtrace_line() click to toggle source
# File lib/cucumber/core/ast/step.rb, line 21
def backtrace_line
  "#{location}:in `#{keyword}#{name}'"
end
inspect() click to toggle source
# File lib/cucumber/core/ast/step.rb, line 37
def inspect
  keyword_and_name = [keyword, name].join(": ")
  %Q{#<#{self.class} "#{keyword_and_name}" (#{location})>}
end
to_sexp() click to toggle source
# File lib/cucumber/core/ast/step.rb, line 17
def to_sexp
  [:step, line, keyword, name, @multiline_arg.to_sexp]
end

Private Instance Methods

children() click to toggle source
# File lib/cucumber/core/ast/step.rb, line 44
def children
  [@multiline_arg]
end
description_for_visitors() click to toggle source
# File lib/cucumber/core/ast/step.rb, line 48
def description_for_visitors
  :step
end