Ticket #6792: active_record.diff
| File active_record.diff, 8.8 kB (added by loobmedia, 2 years ago) |
|---|
-
lib/active_record/associations/association_proxy.rb
old new 100 100 def set_belongs_to_association_for(record) 101 101 if @reflection.options[:as] 102 102 record["#{@reflection.options[:as]}_id"] = @owner.id unless @owner.new_record? 103 record["#{@reflection.options[:as]}_type"] = @owner.class.base_class.name.to_s 103 record["#{@reflection.options[:as]}_type"] = @owner.class.base_class.name.to_s.demodulize 104 104 else 105 105 record[@reflection.primary_key_name] = @owner.id unless @owner.new_record? 106 106 end -
lib/active_record/associations/has_one_association.rb
old new 69 69 when @reflection.options[:as] 70 70 @finder_sql = 71 71 "#{@reflection.klass.table_name}.#{@reflection.options[:as]}_id = #{@owner.quoted_id} AND " + 72 "#{@reflection.klass.table_name}.#{@reflection.options[:as]}_type = #{@owner.class.quote_value(@owner.class.base_class.name.to_s )}"72 "#{@reflection.klass.table_name}.#{@reflection.options[:as]}_type = #{@owner.class.quote_value(@owner.class.base_class.name.to_s.demodulize)}" 73 73 else 74 74 @finder_sql = "#{@reflection.table_name}.#{@reflection.primary_key_name} = #{@owner.quoted_id}" 75 75 end -
lib/active_record/associations/has_many_association.rb
old new 187 187 when @reflection.options[:as] 188 188 @finder_sql = 189 189 "#{@reflection.klass.table_name}.#{@reflection.options[:as]}_id = #{@owner.quoted_id} AND " + 190 "#{@reflection.klass.table_name}.#{@reflection.options[:as]}_type = #{@owner.class.quote_value(@owner.class.base_class.name.to_s )}"190 "#{@reflection.klass.table_name}.#{@reflection.options[:as]}_type = #{@owner.class.quote_value(@owner.class.base_class.name.to_s.demodulize)}" 191 191 @finder_sql << " AND (#{conditions})" if conditions 192 192 193 193 else -
lib/active_record/associations/has_many_through_association.rb
old new 130 130 def construct_owner_attributes(reflection) 131 131 if as = reflection.options[:as] 132 132 { "#{as}_id" => @owner.id, 133 "#{as}_type" => @owner.class.base_class.name.to_s }133 "#{as}_type" => @owner.class.base_class.name.to_s.demodulize } 134 134 else 135 135 { reflection.primary_key_name => @owner.id } 136 136 end … … 146 146 if as = reflection.options[:as] 147 147 { "#{as}_id" => @owner.quoted_id, 148 148 "#{as}_type" => reflection.klass.quote_value( 149 @owner.class.base_class.name.to_s ,149 @owner.class.base_class.name.to_s.demodulize, 150 150 reflection.klass.columns_hash["#{as}_type"]) } 151 151 else 152 152 { reflection.primary_key_name => @owner.quoted_id } … … 182 182 if @reflection.source_reflection.options[:as] 183 183 polymorphic_join = "AND %s.%s = %s" % [ 184 184 @reflection.table_name, "#{@reflection.source_reflection.options[:as]}_type", 185 @owner.class.quote_value(@reflection.through_reflection.klass.name )185 @owner.class.quote_value(@reflection.through_reflection.klass.name.demodulize) 186 186 ] 187 187 end 188 188 end -
lib/active_record/associations/belongs_to_polymorphic_association.rb
old new 9 9 10 10 unless record.new_record? 11 11 @owner[@reflection.primary_key_name] = record.id 12 @owner[@reflection.options[:foreign_type]] = record.class.base_class.name.to_s 12 @owner[@reflection.options[:foreign_type]] = record.class.base_class.name.to_s.demodulize 13 13 end 14 14 15 15 @updated = true -
lib/active_record/associations.rb
old new 696 696 697 697 if association.updated? 698 698 self["#{reflection.primary_key_name}"] = association.id 699 self["#{reflection.options[:foreign_type]}"] = association.class.base_class.name.to_s 699 self["#{reflection.options[:foreign_type]}"] = association.class.base_class.name.to_s.demodulize 700 700 end 701 701 end 702 702 EOF … … 1036 1036 # Add polymorphic type if the :as option is present 1037 1037 dependent_conditions = %(#{reflection.primary_key_name} = \#{record.quoted_id}) 1038 1038 if reflection.options[:as] 1039 dependent_conditions += " AND #{reflection.options[:as]}_type = '#{base_class.name }'"1039 dependent_conditions += " AND #{reflection.options[:as]}_type = '#{base_class.name.demodulize}'" 1040 1040 end 1041 1041 1042 1042 case reflection.options[:dependent] … … 1490 1490 table_alias_for(through_reflection.klass.table_name, aliased_join_table_name), 1491 1491 aliased_join_table_name, polymorphic_foreign_key, 1492 1492 parent.aliased_table_name, parent.primary_key, 1493 aliased_join_table_name, polymorphic_foreign_type, klass.quote_value(parent.active_record.base_class.name )] +1493 aliased_join_table_name, polymorphic_foreign_type, klass.quote_value(parent.active_record.base_class.name.demodulize)] + 1494 1494 " LEFT OUTER JOIN %s ON %s.%s = %s.%s " % [table_name_and_alias, 1495 1495 aliased_table_name, primary_key, aliased_join_table_name, options[:foreign_key] || reflection.klass.to_s.classify.foreign_key 1496 1496 ] … … 1505 1505 aliased_table_name, "#{source_reflection.options[:as]}_id", 1506 1506 aliased_join_table_name, options[:foreign_key] || primary_key, 1507 1507 aliased_table_name, "#{source_reflection.options[:as]}_type", 1508 klass.quote_value(source_reflection.active_record.base_class.name )1508 klass.quote_value(source_reflection.active_record.base_class.name.demodulize) 1509 1509 ] 1510 1510 else 1511 1511 case source_reflection.macro … … 1540 1540 aliased_table_name, "#{reflection.options[:as]}_id", 1541 1541 parent.aliased_table_name, parent.primary_key, 1542 1542 aliased_table_name, "#{reflection.options[:as]}_type", 1543 klass.quote_value(parent.active_record.base_class.name )1543 klass.quote_value(parent.active_record.base_class.name.demodulize) 1544 1544 ] 1545 1545 when reflection.macro == :has_one && reflection.options[:as] 1546 1546 " LEFT OUTER JOIN %s ON %s.%s = %s.%s AND %s.%s = %s " % [ … … 1548 1548 aliased_table_name, "#{reflection.options[:as]}_id", 1549 1549 parent.aliased_table_name, parent.primary_key, 1550 1550 aliased_table_name, "#{reflection.options[:as]}_type", 1551 klass.quote_value(reflection.active_record.base_class.name )1551 klass.quote_value(reflection.active_record.base_class.name.demodulize) 1552 1552 ] 1553 1553 else 1554 1554 foreign_key = options[:foreign_key] || reflection.active_record.name.foreign_key … … 1574 1574 [through_reflection, reflection].each do |ref| 1575 1575 join << "AND #{interpolate_sql(sanitize_sql(ref.options[:conditions]))} " if ref && ref.options[:conditions] 1576 1576 end 1577 1577 1578 1578 join 1579 1579 end