Class: Ripper::Filter
| Relationships & Source Files | |
| Inherits: | Object | 
| Defined in: | ext/ripper/lib/ripper/filter.rb | 
Overview
This class handles only scanner events, which are dispatched in the 'right' order (same with input).
Class Method Summary
- .new(src, filename = '-', lineno = 1) ⇒ Filter constructor
Instance Method Summary
- 
    
      #column  
    
    The column number of the current token. 
- 
    
      #filename  
    
    The file name of the input. 
- 
    
      #lineno  
    
    The line number of the current token. 
- 
    
      #parse(init = nil)  
    
    Starts the parser. 
- 
    
      #state  
    
    The scanner's state of the current token. 
- 
    
      #on_default(event, token, data)  
    
    private
    This method is called when some event handler is undefined. 
Constructor Details
    .new(src, filename = '-', lineno = 1)  ⇒ Filter 
  
Instance Method Details
#column
The column number of the current token. This value starts from 0. This method is valid only in event handlers.
# File 'ext/ripper/lib/ripper/filter.rb', line 46
def column @__col end
#filename
The file name of the input.
# File 'ext/ripper/lib/ripper/filter.rb', line 32
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 'ext/ripper/lib/ripper/filter.rb', line 39
def lineno @__line end
#on_default(event, token, data) (private)
This method is called when some event handler is undefined. event is :on_XXX, token is the scanned token, and data is a data accumulator.
The return value of this method is passed to the next event handler (as of Enumerable#inject).
# File 'ext/ripper/lib/ripper/filter.rb', line 80
def on_default(event, token, data) data 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 'ext/ripper/lib/ripper/filter.rb', line 59
def parse(init = nil) data = init @__lexer.lex.each do |pos, event, tok, state| @__line, @__col = *pos @__state = state data = if respond_to?(event, true) then __send__(event, tok, data) else on_default(event, tok, data) end end data end
#state
The scanner's state of the current token. This value is the bitwise OR of zero or more of the Ripper::EXPR_* constants.
# File 'ext/ripper/lib/ripper/filter.rb', line 52
def state @__state end