Sha256: 706242f033102ff1480ee76bd3b62ade3efa1a0f6bde39315240ef71cc36e37e

Contents?: true

Size: 799 Bytes

Versions: 12

Compression:

Stored size: 799 Bytes

Contents

module Arel
  module Visitors
    class ToSql
      def visit_Arel_Nodes_In o, collector
        if Array === o.right && o.right.empty?
          collector << '1=0'
        else
          # CPK
          collector << "("
          collector = visit o.left, collector
          # CPK
          collector << ")"
          collector << " IN ("
          visit(o.right, collector) << ")"
        end
      end

      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
    end
  end
end

Version data entries

12 entries across 12 versions & 1 rubygems

Version Path
composite_primary_keys-11.3.1 lib/composite_primary_keys/arel/to_sql.rb
composite_primary_keys-11.2.0 lib/composite_primary_keys/arel/to_sql.rb
composite_primary_keys-11.1.0 lib/composite_primary_keys/arel/to_sql.rb
composite_primary_keys-11.0.3 lib/composite_primary_keys/arel/to_sql.rb
composite_primary_keys-11.0.2 lib/composite_primary_keys/arel/to_sql.rb
composite_primary_keys-11.0.1 lib/composite_primary_keys/arel/to_sql.rb
composite_primary_keys-11.0.0 lib/composite_primary_keys/arel/to_sql.rb
composite_primary_keys-11.0.0.rc1 lib/composite_primary_keys/arel/to_sql.rb
composite_primary_keys-11.0.0.beta4 lib/composite_primary_keys/arel/to_sql.rb
composite_primary_keys-11.0.0.beta3 lib/composite_primary_keys/arel/to_sql.rb
composite_primary_keys-11.0.0.beta2 lib/composite_primary_keys/arel/to_sql.rb
composite_primary_keys-11.0.0.beta1 lib/composite_primary_keys/arel/to_sql.rb