Module: Torque::PostgreSQL::Arel::Visitors

Defined in:
lib/torque/postgresql/arel/visitors.rb

Instance Method Summary collapse

Instance Method Details

#visit_Arel_Nodes_Casted(o, collector) ⇒ Object

Allow quoted arrays to get here



20
21
22
23
24
25
# File 'lib/torque/postgresql/arel/visitors.rb', line 20

def visit_Arel_Nodes_Casted(o, collector)
  value = o.value_for_database
  klass = ActiveRecord::ConnectionAdapters::PostgreSQL::OID::Array::Data
  return super unless value.is_a?(klass)
  quote_array(value.values, collector)
end

#visit_Arel_Nodes_JoinSource(o, collector) ⇒ Object

Add ONLY modifier to query



8
9
10
11
# File 'lib/torque/postgresql/arel/visitors.rb', line 8

def visit_Arel_Nodes_JoinSource(o, collector)
  collector << 'ONLY ' if o.only?
  super
end

#visit_Arel_Nodes_Quoted(o, collector) ⇒ Object

Allow quoted arrays to get here



14
15
16
17
# File 'lib/torque/postgresql/arel/visitors.rb', line 14

def visit_Arel_Nodes_Quoted(o, collector)
  return super unless o.expr.is_a?(::Enumerable)
  quote_array(o.expr, collector)
end

#visit_Torque_PostgreSQL_Arel_Nodes_Cast(o, collector) ⇒ Object

Allow casting any node



33
34
35
# File 'lib/torque/postgresql/arel/visitors.rb', line 33

def visit_Torque_PostgreSQL_Arel_Nodes_Cast(o, collector)
  visit(o.left, collector) << '::' << o.right
end

#visit_Torque_PostgreSQL_Arel_Nodes_Ref(o, collector) ⇒ Object

TORQUE VISITORS



28
29
30
# File 'lib/torque/postgresql/arel/visitors.rb', line 28

def visit_Torque_PostgreSQL_Arel_Nodes_Ref(o, collector)
  collector << quote_table_name(o.expr)
end