Sha256: a23bf25ad2f7e02b0249553eea30a0294e6e023767a1c0c95a2c9838304f18b8

Contents?: true

Size: 922 Bytes

Versions: 21

Compression:

Stored size: 922 Bytes

Contents

module Unparser
  class Emitter

    # Base class for special match node emitters
    class Match < self

      OPERATOR = '=~'.freeze

      # Emitter for match with local variable assignment
      class Lvasgn < self
        handle :match_with_lvasgn

        children :regexp, :lvasgn

      private

        # Perform dispatch
        #
        # @return [undefined]
        #
        # @api private
        #
        def dispatch
          visit(regexp)
          write(WS, OPERATOR, WS)
          visit(lvasgn)
        end

      end # Lvasgn

      # Emitter for match current line
      class CurrentLine < self
        handle :match_current_line

        children :regexp

        # Perform dispatch
        #
        # @return [undefined]
        #
        # @api private
        #
        def dispatch
          visit(regexp)
        end

      end # CurrentLine

    end # Match
  end # Emitter
end # Unparser

Version data entries

21 entries across 21 versions & 1 rubygems

Version Path
unparser-0.1.5 lib/unparser/emitter/match.rb
unparser-0.1.4 lib/unparser/emitter/match.rb
unparser-0.1.3 lib/unparser/emitter/match.rb
unparser-0.1.2 lib/unparser/emitter/match.rb
unparser-0.1.1 lib/unparser/emitter/match.rb
unparser-0.1.0 lib/unparser/emitter/match.rb
unparser-0.0.18 lib/unparser/emitter/match.rb
unparser-0.0.16 lib/unparser/emitter/match.rb
unparser-0.0.15 lib/unparser/emitter/match.rb
unparser-0.0.14 lib/unparser/emitter/match.rb
unparser-0.0.13 lib/unparser/emitter/match.rb
unparser-0.0.12 lib/unparser/emitter/match.rb
unparser-0.0.11 lib/unparser/emitter/match.rb
unparser-0.0.10 lib/unparser/emitter/match.rb
unparser-0.0.8 lib/unparser/emitter/match.rb
unparser-0.0.7 lib/unparser/emitter/match.rb
unparser-0.0.6 lib/unparser/emitter/match.rb
unparser-0.0.5 lib/unparser/emitter/match.rb
unparser-0.0.4 lib/unparser/emitter/match.rb
unparser-0.0.3 lib/unparser/emitter/match.rb