class Arel::Visitors::DepthFirst
Constants
- DISPATCH
Public Class Methods
new(block = nil)
click to toggle source
Calls superclass method
Arel::Visitors::Visitor.new
# File lib/arel/visitors/depth_first.rb, line 5 def initialize block = nil @block = block || Proc.new super() end
Private Instance Methods
binary(o)
click to toggle source
# File lib/arel/visitors/depth_first.rb, line 73 def binary o visit o.left visit o.right end
Also aliased as: visit_Arel_Nodes_As, visit_Arel_Nodes_Assignment, visit_Arel_Nodes_Between, visit_Arel_Nodes_Concat, visit_Arel_Nodes_DeleteStatement, visit_Arel_Nodes_DoesNotMatch, visit_Arel_Nodes_Equality, visit_Arel_Nodes_FullOuterJoin, visit_Arel_Nodes_GreaterThan, visit_Arel_Nodes_GreaterThanOrEqual, visit_Arel_Nodes_In, visit_Arel_Nodes_InfixOperation, visit_Arel_Nodes_JoinSource, visit_Arel_Nodes_InnerJoin, visit_Arel_Nodes_LessThan, visit_Arel_Nodes_LessThanOrEqual, visit_Arel_Nodes_Matches, visit_Arel_Nodes_NotEqual, visit_Arel_Nodes_NotIn, visit_Arel_Nodes_NotRegexp, visit_Arel_Nodes_Or, visit_Arel_Nodes_OuterJoin, visit_Arel_Nodes_Regexp, visit_Arel_Nodes_RightOuterJoin, visit_Arel_Nodes_TableAlias, visit_Arel_Nodes_Values, visit_Arel_Nodes_When
function(o)
click to toggle source
# File lib/arel/visitors/depth_first.rb, line 38 def function o visit o.expressions visit o.alias visit o.distinct end
get_dispatch_cache()
click to toggle source
# File lib/arel/visitors/depth_first.rb, line 193 def get_dispatch_cache DISPATCH end
nary(o)
click to toggle source
# File lib/arel/visitors/depth_first.rb, line 68 def nary o o.children.each { |child| visit child} end
Also aliased as: visit_Arel_Nodes_And
terminal(o)
click to toggle source
# File lib/arel/visitors/depth_first.rb, line 125 def terminal o end
Also aliased as: visit_ActiveSupport_Multibyte_Chars, visit_ActiveSupport_StringInquirer, visit_Arel_Nodes_Lock, visit_Arel_Nodes_Node, visit_Arel_Nodes_SqlLiteral, visit_Arel_Nodes_BindParam, visit_Arel_Nodes_Window, visit_Arel_Nodes_True, visit_Arel_Nodes_False, visit_BigDecimal, visit_Bignum, visit_Class, visit_Date, visit_DateTime, visit_FalseClass, visit_Fixnum, visit_Float, visit_Integer, visit_NilClass, visit_String, visit_Symbol, visit_Time, visit_TrueClass
unary(o)
click to toggle source
# File lib/arel/visitors/depth_first.rb, line 17 def unary o visit o.expr end
Also aliased as: visit_Arel_Nodes_Else, visit_Arel_Nodes_Group, visit_Arel_Nodes_Cube, visit_Arel_Nodes_RollUp, visit_Arel_Nodes_GroupingSet, visit_Arel_Nodes_GroupingElement, visit_Arel_Nodes_Grouping, visit_Arel_Nodes_Having, visit_Arel_Nodes_Limit, visit_Arel_Nodes_Not, visit_Arel_Nodes_Offset, visit_Arel_Nodes_On, visit_Arel_Nodes_Ordering, visit_Arel_Nodes_Ascending, visit_Arel_Nodes_Descending, visit_Arel_Nodes_Top, visit_Arel_Nodes_UnqualifiedColumn
visit(o)
click to toggle source
Calls superclass method
Arel::Visitors::Visitor#visit
# File lib/arel/visitors/depth_first.rb, line 12 def visit o super @block.call o end
visit_Arel_Attribute(o)
click to toggle source
# File lib/arel/visitors/depth_first.rb, line 109 def visit_Arel_Attribute o visit o.relation visit o.name end
visit_Arel_Nodes_Case(o)
click to toggle source
# File lib/arel/visitors/depth_first.rb, line 62 def visit_Arel_Nodes_Case o visit o.case visit o.conditions visit o.default end
visit_Arel_Nodes_Count(o)
click to toggle source
# File lib/arel/visitors/depth_first.rb, line 56 def visit_Arel_Nodes_Count o visit o.expressions visit o.alias visit o.distinct end
visit_Arel_Nodes_InsertStatement(o)
click to toggle source
# File lib/arel/visitors/depth_first.rb, line 151 def visit_Arel_Nodes_InsertStatement o visit o.relation visit o.columns visit o.values end
visit_Arel_Nodes_NamedFunction(o)
click to toggle source
# File lib/arel/visitors/depth_first.rb, line 49 def visit_Arel_Nodes_NamedFunction o visit o.name visit o.expressions visit o.distinct visit o.alias end
visit_Arel_Nodes_SelectCore(o)
click to toggle source
# File lib/arel/visitors/depth_first.rb, line 157 def visit_Arel_Nodes_SelectCore o visit o.projections visit o.source visit o.wheres visit o.groups visit o.windows visit o.havings end
visit_Arel_Nodes_SelectStatement(o)
click to toggle source
# File lib/arel/visitors/depth_first.rb, line 166 def visit_Arel_Nodes_SelectStatement o visit o.cores visit o.orders visit o.limit visit o.lock visit o.offset end
visit_Arel_Nodes_StringJoin(o)
click to toggle source
# File lib/arel/visitors/depth_first.rb, line 105 def visit_Arel_Nodes_StringJoin o visit o.left end
visit_Arel_Nodes_UpdateStatement(o)
click to toggle source
# File lib/arel/visitors/depth_first.rb, line 174 def visit_Arel_Nodes_UpdateStatement o visit o.relation visit o.values visit o.wheres visit o.orders visit o.limit end
visit_Arel_Table(o)
click to toggle source
# File lib/arel/visitors/depth_first.rb, line 121 def visit_Arel_Table o visit o.name end
visit_Array(o)
click to toggle source
# File lib/arel/visitors/depth_first.rb, line 182 def visit_Array o o.each { |i| visit i } end
Also aliased as: visit_Set
visit_Hash(o)
click to toggle source
# File lib/arel/visitors/depth_first.rb, line 187 def visit_Hash o o.each { |k,v| visit(k); visit(v) } end