Class: ActiveRecord::Associations::HasOneAssociation

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

Instance Method Summary collapse

Instance Method Details

#construct_sqlObject



4
5
6
7
8
9
10
11
12
13
14
15
16
# File 'lib/composite_primary_keys/associations/has_one_association.rb', line 4

def construct_sql
  case
    when @reflection.options[:as]
      @finder_sql =
        "#{@reflection.quoted_table_name}.#{@reflection.options[:as]}_id = #{owner_quoted_id} AND " +
        "#{@reflection.quoted_table_name}.#{@reflection.options[:as]}_type = #{@owner.class.quote_value(@owner.class.base_class.name.to_s)}"
    else
      # CPK
      #@finder_sql = "#{@reflection.quoted_table_name}.#{@reflection.primary_key_name} = #{owner_quoted_id}"
      @finder_sql = full_columns_equals(@reflection.table_name, @reflection.cpk_primary_key, owner_quoted_id)
  end
  @finder_sql << " AND (#{conditions})" if conditions
end