Sha256: 61e780c3e5b6a9b88eec5ca66b1161beeea8e19af8fedeb5a567522f4b44002d

Contents?: true

Size: 417 Bytes

Versions: 6

Compression:

Stored size: 417 Bytes

Contents

module Arel
  class TreeManager
    # Iterate through AST, nodes will be yielded depth-first
    def each(&block)
      return enum_for(:each) unless block_given?

      ::Arel::Visitors::DepthFirst.new(block).accept ast
    end

    def to_sql_and_binds(engine = Arel::Table.engine)
      collector = engine.connection.send(:collector)
      engine.connection.visitor.accept(@ast, collector).value
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
arel_toolkit-0.4.6 lib/arel/extensions/tree_manager.rb
arel_toolkit-0.4.5 lib/arel/extensions/tree_manager.rb
arel_toolkit-0.4.4 lib/arel/extensions/tree_manager.rb
arel_toolkit-0.4.3 lib/arel/extensions/tree_manager.rb
arel_toolkit-0.4.2 lib/arel/extensions/tree_manager.rb
arel_toolkit-0.4.1 lib/arel/extensions/tree_manager.rb