Class: Ripper::Filter (Ruby 2.2.4)
Description: Class : Ripper::Filter - Ruby 2.2.4

- Home
- Core 2.2.4
- Std-lib 2.2.4
- Downloads

Support for the Ruby 2.2 series has ended. See here for reference.

### Home Classes Methods

### In Files

- ripper/lib/ripper/filter.rb

### Parent

Object

### Methods

- ::new
- #column
- #filename
- #lineno
- #parse

### Class/Module Index

Quicksearch

- Object
- Ripper
- Ripper::Filter

No matching classes.

# 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) click to toggle source

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 23
    def initialize(src, filename = '-', lineno = 1)
      @__lexer = Lexer.new(src, filename, lineno)
      @__line = nil
      @__col = nil
    end

### Public Instance Methods

column() click to toggle source

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 44
    def column
      @__col
    end

filename() click to toggle source

The file name of the input.

                   # File ripper/lib/ripper/filter.rb, line 30
    def filename
      @__lexer.filename
    end

lineno() click to toggle source

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 37
    def lineno
      @__line
    end

parse(init = nil) click to toggle source

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