class LineNumberHandler

We need to provide a handler that will add the line to the node as it is parsed. TreeBuilder is the “usual” handler, that creates the AST.

Attributes

parser[RW]

The handler needs access to the parser in order to call mark

Public Instance Methods

scalar(value, anchor, tag, plain, quoted, style) click to toggle source

We are only interested in scalars, so here we override the method so that it calls mark and adds the line info to the node.

Calls superclass method
# File lib/strut/extensions.rb, line 35
def scalar value, anchor, tag, plain, quoted, style
  mark = parser.mark
  s = super
  s.line = mark.line
  s
end
start_mapping(anchor, tag, implicit, style) click to toggle source
Calls superclass method
# File lib/strut/extensions.rb, line 42
def start_mapping anchor, tag, implicit, style
  mark = parser.mark
  s = super
  s.line = mark.line
  s
end
start_sequence(anchor, tag, implicit, style) click to toggle source
Calls superclass method
# File lib/strut/extensions.rb, line 49
def start_sequence anchor, tag, implicit, style
  mark = parser.mark
  s = super
  s.line = mark.line
  s
end