Class: Cucumber::Core::Test::Location::Precise

Inherits:
Struct
  • Object
show all
Defined in:
lib/cucumber/core/test/location.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#fileObject

Returns the value of attribute file

Returns:

  • (Object)

    the current value of file



55
56
57
# File 'lib/cucumber/core/test/location.rb', line 55

def file
  @file
end

#linesObject

Returns the value of attribute lines

Returns:

  • (Object)

    the current value of lines



55
56
57
# File 'lib/cucumber/core/test/location.rb', line 55

def lines
  @lines
end

Instance Method Details

#hashObject



74
75
76
# File 'lib/cucumber/core/test/location.rb', line 74

def hash
  [self.class, to_s].hash
end

#include?(other_lines) ⇒ Boolean

Returns:

  • (Boolean)


56
57
58
# File 'lib/cucumber/core/test/location.rb', line 56

def include?(other_lines)
  lines.include?(other_lines)
end

#inspectObject



93
94
95
# File 'lib/cucumber/core/test/location.rb', line 93

def inspect
  "<#{self.class}: #{self}>"
end

#lineObject



60
61
62
# File 'lib/cucumber/core/test/location.rb', line 60

def line
  lines.first
end

#match?(other) ⇒ Boolean

Returns:

  • (Boolean)


64
65
66
67
68
# File 'lib/cucumber/core/test/location.rb', line 64

def match?(other)
  return false unless other.file == file

  other.include?(lines)
end

#merge(multiline_arg) ⇒ Object



82
83
84
85
86
87
# File 'lib/cucumber/core/test/location.rb', line 82

def merge(multiline_arg)
  new_lines = (0..multiline_arg.lines_count).map do |offset|
    lines.min + offset
  end
  Location.new(file, new_lines)
end

#on_line(new_line) ⇒ Object



89
90
91
# File 'lib/cucumber/core/test/location.rb', line 89

def on_line(new_line)
  Location.new(file, new_line)
end

#to_sObject



70
71
72
# File 'lib/cucumber/core/test/location.rb', line 70

def to_s
  [file, lines.to_s].join(':')
end

#to_strObject



78
79
80
# File 'lib/cucumber/core/test/location.rb', line 78

def to_str
  to_s
end