Class: Sass::Source::Position

Inherits:
Object
  • Object
show all
Defined in:
/home/nweiz/code/sass-site/.sass/lib/sass/source/position.rb

Instance Attribute Summary (collapse)

Instance Method Summary (collapse)

Constructor Details

- (Position) initialize(line, offset)

Returns a new instance of Position

Parameters:

  • line (Integer)

    The source line

  • offset (Integer)

    The source offset



16
17
18
19
# File '/home/nweiz/code/sass-site/.sass/lib/sass/source/position.rb', line 16

def initialize(line, offset)
  @line = line
  @offset = offset
end

Instance Attribute Details

- (Integer) line

The one-based line of the document associated with the position.

Returns:

  • (Integer)


6
7
8
# File '/home/nweiz/code/sass-site/.sass/lib/sass/source/position.rb', line 6

def line
  @line
end

- (Integer) offset

The one-based offset in the line of the document associated with the position.

Returns:

  • (Integer)


12
13
14
# File '/home/nweiz/code/sass-site/.sass/lib/sass/source/position.rb', line 12

def offset
  @offset
end

Instance Method Details

- (Position) after(str)

Returns The source position after proceeding forward through str.

Parameters:

  • str (String)

    The string to move through.

Returns:

  • (Position)

    The source position after proceeding forward through str.



29
30
31
32
33
34
35
36
37
# File '/home/nweiz/code/sass-site/.sass/lib/sass/source/position.rb', line 29

def after(str)
  newlines = str.count("\n")
  Position.new(line + newlines,
    if newlines == 0
      offset + str.length
    else
      str.length - str.rindex("\n") - 1
    end)
end

- (String) inspect

Returns A string representation of the source position.

Returns:

  • (String)

    A string representation of the source position.



22
23
24
# File '/home/nweiz/code/sass-site/.sass/lib/sass/source/position.rb', line 22

def inspect
  "#{line.inspect}:#{offset.inspect}"
end