Class: Squeel::Visitors::Base

Inherits:
Object
  • Object
show all
Defined in:
lib/squeel/visitors/base.rb

Direct Known Subclasses

AttributeVisitor, PredicateVisitor, SymbolVisitor

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(context = nil) ⇒ Base

Returns a new instance of Base.



10
11
12
# File 'lib/squeel/visitors/base.rb', line 10

def initialize(context = nil)
  @context = context
end

Instance Attribute Details

#contextObject

Returns the value of attribute context.



7
8
9
# File 'lib/squeel/visitors/base.rb', line 7

def context
  @context
end

Class Method Details

.can_accept?(object) ⇒ Boolean

Returns:

  • (Boolean)


22
23
24
# File 'lib/squeel/visitors/base.rb', line 22

def self.can_accept?(object)
  method_defined? DISPATCH[object.class]
end

Instance Method Details

#accept(object, parent = context.base) ⇒ Object



14
15
16
# File 'lib/squeel/visitors/base.rb', line 14

def accept(object, parent = context.base)
  visit(object, parent)
end

#can_accept?(object) ⇒ Boolean

Returns:

  • (Boolean)


18
19
20
# File 'lib/squeel/visitors/base.rb', line 18

def can_accept?(object)
  respond_to? DISPATCH[object.class]
end