aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/lib/active_record/associations
Commit message (Collapse)AuthorAgeFilesLines
...
| * | Don't shadow outer local variable.Emilio Tagua2011-02-151-2/+2
| | |
| * | Merge remote branch 'rails/master' into identity_mapEmilio Tagua2011-02-1514-1044/+873
| |\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: activerecord/examples/performance.rb activerecord/lib/active_record/association_preload.rb activerecord/lib/active_record/associations.rb activerecord/lib/active_record/associations/association_proxy.rb activerecord/lib/active_record/autosave_association.rb activerecord/lib/active_record/base.rb activerecord/lib/active_record/nested_attributes.rb activerecord/test/cases/relations_test.rb
| | * Add a transaction wrapper in add_to_target. This means that #build will now ↵Jon Leighton2011-02-141-27/+27
| | | | | | | | | | | | also use a transaction. IMO this is reasonable given that the before_add and after_add callbacks might do anything, and this great consistency allows us to abstract out the duplicate code from #build and #create.
| | * Inline ensure_owner_is_persisted! as it is only called from one placeJon Leighton2011-02-141-8/+4
| | |
| | * @target should always be an arrayJon Leighton2011-02-141-1/+2
| | |
| | * Rename add_record_to_target_with_callbacks to add_to_targetJon Leighton2011-02-141-4/+4
| | |
| | * Don't pass the block through build_recordJon Leighton2011-02-141-10/+8
| | |
| | * Move create and create! next to buildJon Leighton2011-02-141-21/+21
| | |
| | * Get rid of create_record as it is not only used in one placeJon Leighton2011-02-141-8/+7
| | |
| | * Get rid of AssociationCollection#save_recordJon Leighton2011-02-144-25/+25
| | |
| | * Add interpolation of association conditions back in, in the form of proc { ↵Jon Leighton2011-02-145-12/+19
| | | | | | | | | | | | ... } rather than instance_eval-ing strings
| | * Remove Relation#& alias for Relation#mergeErnie Miller2011-02-122-2/+2
| | |
| | * Fix table name collision due to incorrect alias count on certain joins.Ernie Miller2011-02-121-4/+4
| | | | | | | | | | | | | | | | | | [#6423 state:committed] Signed-off-by: Santiago Pastorino <santiago@wyeworks.com>
| | * just return the record from insert_record, use truthiness for comparisonsAaron Patterson2011-02-071-2/+2
| | |
| | * Refactor the implementations of AssociatioCollection#delete and #destroy to ↵Jon Leighton2011-02-074-18/+14
| | | | | | | | | | | | be more consistent with each other, and to stop passing blocks around, thus making the execution easier to follow.
| | * This string should continueJon Leighton2011-02-071-1/+1
| | |
| | * Correctly update counter caches on deletion for has_many :through [#2824 ↵Jon Leighton2011-02-072-20/+63
| | | | | | | | | | | | state:resolved]. Also fixed a bunch of other counter cache bugs in the process, as once I fixed this one others started appearing like nobody's business.
| | * Support the :dependent option on has_many :through associations. For ↵Jon Leighton2011-02-072-16/+34
| | | | | | | | | | | | historical and practical reasons, :delete_all is the default deletion strategy employed by association.delete(*records), despite the fact that the default strategy is :nullify for regular has_many. Also, this only works at all if the source reflection is a belongs_to. For other situations, you should directly modify the through association.
| | * Make record.association.destroy(*records) on habtm and hm:t only delete ↵Jon Leighton2011-02-074-23/+30
| | | | | | | | | | | | records in the join table. This is to make the destroy method more consistent across the different types of associations. For more details see the CHANGELOG entry.
| | * scope is always a RelationSantiago Pastorino2011-02-011-3/+1
| | |
| | * Propagate association extensions to scopes called on the association.Glenn Vanderburg2011-02-011-0/+3
| | | | | | | | | | | | Signed-off-by: Santiago Pastorino <santiago@wyeworks.com>
| | * Make use of helpers in AssociationReflectionJon Leighton2011-01-301-4/+4
| | |
| | * Has many through - It is not necessary to manually merge in the conditions ↵Jon Leighton2011-01-301-4/+0
| | | | | | | | | | | | hash for the through record, because the creation is done directly on the through association, which will already handle setting the conditions.
| | * @join_table_name is no longer usedJon Leighton2011-01-301-2/+1
| | |
| | * Make AssociationCollection#include? a bit more readableJon Leighton2011-01-301-4/+10
| | |
| | * Don't use method_missing when we don't have toJon Leighton2011-01-301-2/+2
| | |
| | * AssociationCollection#clear can basically just use #delete_all, except it ↵Jon Leighton2011-01-301-13/+7
| | | | | | | | | | | | should return self.
| | * AssociationCollection#to_ary should definitely dup the target! Also changed ↵Jon Leighton2011-01-301-3/+3
| | | | | | | | | | | | #replace which was previously incorrect, but the test passed due to the fact that to_a was not duping.
| | * Just use primary_key here, AR::Relation will resolve the ambiguity before it ↵Jon Leighton2011-01-301-1/+1
| | | | | | | | | | | | is converted to SQL
| | * Call sum on the scope directly, rather than relying on method_missing and ↵Jon Leighton2011-01-301-2/+2
| | | | | | | | | | | | calculate
| | * Condense first_or_last a bit moreJon Leighton2011-01-301-7/+5
| | |
| | * Get rid of separate reset_target! and reset_scopes_cache! methodsJon Leighton2011-01-301-26/+17
| | |
| | * target is always an arrayJon Leighton2011-01-301-5/+0
| | |
| | * load_target will return the target. it also will not load if loaded? is true.Jon Leighton2011-01-301-2/+1
| | |
| | * DRY up first/last and hence make last benefit from the bugfix in firstJon Leighton2011-01-301-15/+13
| | |
| | * Use scoped.find directly rather than having a find_by_sql methodJon Leighton2011-01-301-5/+1
| | |
| | * Use scoped.first and scoped.last instead of find(:first, ...) and ↵Jon Leighton2011-01-301-2/+2
| | | | | | | | | | | | find(:last, ...)
| | * Try to make fetch_first_or_last_using_find? more readableJon Leighton2011-01-301-2/+20
| | |
| | * load_target returns the targetJon Leighton2011-01-301-2/+1
| | |
| | * Rename AssociationProxy#loaded to loaded! as it mutates the associationJon Leighton2011-01-304-6/+6
| | |
| | * Abstract load_target conditional logicJon Leighton2011-01-302-6/+7
| | |
| | * Remove unused methods conditions, sql_conditions and sanitize_sqlJon Leighton2011-01-301-12/+0
| | |
| | * Don't pass around conditions as strings in ThroughAssociationJon Leighton2011-01-301-30/+25
| | |
| | * Indent methods under private/protected sectionsJon Leighton2011-01-302-115/+115
| | |
| | * Let's be less blasé about method visibility on association proxiesJon Leighton2011-01-309-117/+135
| | |
| | * We shouldn't be using scoped.scoping { ... } to build associated records, as ↵Jon Leighton2011-01-302-14/+14
| | | | | | | | | | | | this can affect validations/callbacks/etc inside the record itself [#6252 state:resolved]
| | * Nested attributes and in-memory changed values #first and #[] behaviour ↵Alexey Nayden2011-01-281-1/+1
| | | | | | | | | | | | consistency fix
| | * Removed support for accessing attributes on a has_and_belongs_to_many join ↵Jon Leighton2011-01-161-62/+6
| | | | | | | | | | | | table. This has been documented as deprecated behaviour since April 2006. Please use has_many :through instead. A deprecation warning will be added to the 3-0-stable branch for the 3.0.4 release.
| | * Rename some variablesJon Leighton2011-01-161-11/+11
| | |
| | * Use self.target= in HasOneThroughAssociation tooJon Leighton2011-01-161-4/+3
| | |