Class: Arel::Visitors::Visitor

Inherits:
Object
  • Object
show all
Defined in:
lib/arel/visitors/visitor.rb

Direct Known Subclasses

Dot, ToSql

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeVisitor

Returns a new instance of Visitor.



6
7
8
# File 'lib/arel/visitors/visitor.rb', line 6

def initialize
  @dispatch = get_dispatch_cache
end

Class Method Details

.dispatch_cacheObject



17
18
19
20
21
# File 'lib/arel/visitors/visitor.rb', line 17

def self.dispatch_cache
  @dispatch_cache ||= Hash.new do |hash, klass|
    hash[klass] = :"visit_#{(klass.name || "").gsub("::", "_")}"
  end.compare_by_identity
end

Instance Method Details

#accept(object, collector = nil) ⇒ Object



10
11
12
# File 'lib/arel/visitors/visitor.rb', line 10

def accept(object, collector = nil)
  visit object, collector
end