Class: Arel::Visitors::ToSql

Inherits:
Object
  • Object
show all
Defined in:
lib/composite_primary_keys/arel/to_sql.rb

Instance Method Summary collapse

Instance Method Details

#visit_CompositePrimaryKeys_CompositeKeys(o, collector) ⇒ Object



12
13
14
15
16
17
18
19
20
21
22
23
# File 'lib/composite_primary_keys/arel/to_sql.rb', line 12

def visit_CompositePrimaryKeys_CompositeKeys o, collector
  values = o.map do |key|
    case key
      when Arel::Attributes::Attribute
        "#{key.relation.name}.#{key.name}"
      else
        key
    end
  end
  collector << "#{values.join(', ')}"
  collector
end

#visit_CompositePrimaryKeys_Nodes_In(o, collector) ⇒ Object



4
5
6
7
8
9
10
# File 'lib/composite_primary_keys/arel/to_sql.rb', line 4

def visit_CompositePrimaryKeys_Nodes_In o, collector
  collector << "("
  visit(o.left, collector)
  collector << ")"
  collector << " IN ("
  visit(o.right, collector) << ")"
end