Class: Sass::Source::Position

Inherits:
Object
  • Object
show all
Defined in:
lib/sass/source/position.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(line, offset) ⇒ Position

Returns a new instance of Position.

Parameters:

  • line (Integer)

    The source line

  • offset (Integer)

    The source offset



16
17
18
19
# File 'lib/sass/source/position.rb', line 16

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

Instance Attribute Details

#lineInteger

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

Returns:

  • (Integer)


6
7
8
# File 'lib/sass/source/position.rb', line 6

def line
  @line
end

#offsetInteger

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

Returns:

  • (Integer)


12
13
14
# File 'lib/sass/source/position.rb', line 12

def offset
  @offset
end

Instance Method Details

#after(str) ⇒ Position

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 '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

#inspectString

Returns A string representation of the source position.

Returns:

  • (String)

    A string representation of the source position.



22
23
24
# File 'lib/sass/source/position.rb', line 22

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