In Files
- ripper/lib/ripper/filter.rb
Class/Module Index
Ripper::Filter
This class handles only scanner events, which are dispatched in the ‘right’ order (same with input).
Public Class Methods
new(src, filename = '-', lineno = 1)
Creates a new Ripper::Filter instance, passes
parameters src
, filename
, and lineno
to Ripper::Lexer.new
The lexer is for internal use only.
# File ripper/lib/ripper/filter.rb, line 24 def initialize(src, filename = '-', lineno = 1) @__lexer = Lexer.new(src, filename, lineno) @__line = nil @__col = nil end
Public Instance Methods
column()
The column number of the current token. This value starts from 0. This method is valid only in event handlers.
# File ripper/lib/ripper/filter.rb, line 45 def column @__col end
filename()
The file name of the input.
# File ripper/lib/ripper/filter.rb, line 31 def filename @__lexer.filename end
lineno()
The line number of the current token. This value starts from 1. This method is valid only in event handlers.
# File ripper/lib/ripper/filter.rb, line 38 def lineno @__line end
parse(init = nil)
Starts the parser. init
is a data accumulator and is passed to
the next event handler (as of Enumerable#inject).
# File ripper/lib/ripper/filter.rb, line 52 def parse(init = nil) data = init @__lexer.lex.each do |pos, event, tok| @__line, @__col = *pos data = if respond_to?(event, true) then __send__(event, tok, data) else on_default(event, tok, data) end end data end