Class: XRay::PositionInfo
- Inherits:
-
Object
- Object
- XRay::PositionInfo
- Defined in:
- lib/position_info.rb
Instance Method Summary collapse
-
#initialize(text) ⇒ PositionInfo
constructor
A new instance of PositionInfo.
- #locate(pos) ⇒ Object
Constructor Details
#initialize(text) ⇒ PositionInfo
Returns a new instance of PositionInfo.
12 13 14 15 16 17 18 19 20 21 22 23 |
# File 'lib/position_info.rb', line 12 def initialize(text) lines = text.split(/\n/) @lines = [] num = 0 lines.each do |line| num += line.length + 1 @lines << num end @len = lines.length end |
Instance Method Details
#locate(pos) ⇒ Object
25 26 27 28 29 30 31 32 33 |
# File 'lib/position_info.rb', line 25 def locate(pos) if @row && pos >= @lines[@row -1] && pos < @lines[@row] row = @row else row = @row = find(0, @len - 1, pos) end col = row > 0 ? pos - @lines[row - 1] : pos Position.new(pos, row + 1, col + 1) end |