Sha256: 4e2cecaaa033e4786a279aac9c3a3fda5442b2b7fa1d6047cdfa0addad901226

Contents?: true

Size: 504 Bytes

Versions: 1

Compression:

Stored size: 504 Bytes

Contents

module Furnace::AST
  module Processor
    def process(node)
      if node
        # Invoke a specific handler
        on_handler = :"on_#{node.type}"
        if respond_to? on_handler
          new_node = send on_handler, node
        else
          new_node = handler_missing(node)
        end

        node = new_node if new_node
      end

      node
    end

    def process_all(nodes)
      nodes.map do |node|
        process node
      end
    end

    def handler_missing(node)
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
furnace-0.3.0.beta2 lib/furnace/ast/processor.rb