Class: Cucumber::Core::Ast::ExamplesTable::Row

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

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from HasLocation

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

Methods included from DescribesItself

#describe_to

Constructor Details

#initialize(data, number, location, language) ⇒ Row

Returns a new instance of Row.

Raises:

  • (ArgumentError)


67
68
69
70
71
72
73
# File 'lib/cucumber/core/ast/examples_table.rb', line 67

def initialize(data, number, location, language)
  raise ArgumentError, data.to_s unless data.is_a?(Hash)
  @data = data
  @number = number
  @location = location
  @language = language
end

Instance Attribute Details

#languageObject (readonly)

Returns the value of attribute language.



65
66
67
# File 'lib/cucumber/core/ast/examples_table.rb', line 65

def language
  @language
end

#numberObject (readonly)

Returns the value of attribute number.



65
66
67
# File 'lib/cucumber/core/ast/examples_table.rb', line 65

def number
  @number
end

Instance Method Details

#==(other) ⇒ Object



75
76
77
78
79
80
# File 'lib/cucumber/core/ast/examples_table.rb', line 75

def ==(other)
  return false unless other.class == self.class
  other.number == number &&
    other.location == location &&
    other.data == data
end

#expand(string) ⇒ Object



86
87
88
89
90
91
92
# File 'lib/cucumber/core/ast/examples_table.rb', line 86

def expand(string)
  result = string.dup
  @data.each do |key, value|
    result.gsub!("<#{key}>", value.to_s)
  end
  result
end

#inspectObject



94
95
96
# File 'lib/cucumber/core/ast/examples_table.rb', line 94

def inspect
  "#<#{self.class}: #{@data.inspect} (#{location})>"
end

#valuesObject



82
83
84
# File 'lib/cucumber/core/ast/examples_table.rb', line 82

def values
  @data.values
end