class Arel::Visitors::DepthFirst
Constants
- DISPATCH
Public Class Methods
Source
# File lib/arel/visitors/depth_first.rb, line 5 def initialize block = nil @block = block || Proc.new super() end
Calls superclass method
Arel::Visitors::Visitor::new
Private Instance Methods
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
Source
# File lib/arel/visitors/depth_first.rb, line 38 def function o visit o.expressions visit o.alias visit o.distinct end
Source
# File lib/arel/visitors/depth_first.rb, line 193 def get_dispatch_cache DISPATCH end
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
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
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
Source
# File lib/arel/visitors/depth_first.rb, line 12 def visit o super @block.call o end
Calls superclass method
Arel::Visitors::Visitor#visit
Source
# File lib/arel/visitors/depth_first.rb, line 109 def visit_Arel_Attribute o visit o.relation visit o.name end
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
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
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
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
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
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
Source
# File lib/arel/visitors/depth_first.rb, line 105 def visit_Arel_Nodes_StringJoin o visit o.left end
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
Source
# File lib/arel/visitors/depth_first.rb, line 121 def visit_Arel_Table o visit o.name end
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
Source
# File lib/arel/visitors/depth_first.rb, line 187 def visit_Hash o o.each { |k,v| visit(k); visit(v) } end