Skip to content

Instantly share code, notes, and snippets.

@bogdan
Created July 5, 2010 18:02
Show Gist options
  • Save bogdan/464550 to your computer and use it in GitHub Desktop.
Save bogdan/464550 to your computer and use it in GitHub Desktop.
def construct_sql
case
when @reflection.options[:finder_sql]
@finder_sql = interpolate_sql(@reflection.options[:finder_sql])
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)}"
@finder_sql << " AND (#{conditions})" if conditions
else
@finder_sql = "#{@reflection.quoted_table_name}.#{@reflection.primary_key_name} = #{owner_quoted_id}"
@finder_sql << " AND (#{conditions})" if conditions
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment