Class: ActiveRecord::Associations::AssociationProxy

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

Overview

:nodoc:

Direct Known Subclasses

HasManyThroughAssociation

Instance Method Summary collapse

Instance Method Details

#full_columns_equals(table_name, keys, quoted_ids) ⇒ Object



213
214
215
216
217
218
219
220
221
# File 'lib/composite_primary_keys/associations.rb', line 213

def full_columns_equals(table_name, keys, quoted_ids)
  if keys.is_a?(Symbol) or (keys.is_a?(String) and keys == keys.split(CompositePrimaryKeys::ID_SEP))
    return "#{table_name}.#{keys} = #{quoted_ids}"
  end
  keys = keys.split(CompositePrimaryKeys::ID_SEP) if keys.is_a?(String)
  quoted_ids = quoted_ids.split(CompositePrimaryKeys::ID_SEP) if quoted_ids.is_a?(String)
  keys_ids = [keys, quoted_ids].transpose
  keys_ids.collect {|key, id| "(#{table_name}.#{key} = #{id})"}.join(' AND ')
end

#full_keys(table_name, keys) ⇒ Object



206
207
208
209
210
211
# File 'lib/composite_primary_keys/associations.rb', line 206

def full_keys(table_name, keys)
  keys = keys.split(CompositePrimaryKeys::ID_SEP) if keys.is_a?(String)
  keys.is_a?(Array) ?
    keys.collect {|key| "#{table_name}.#{key}"}.join(CompositePrimaryKeys::ID_SEP) : 
    "#{table_name}.#{keys}"
end