aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/lib/active_record/associations
Commit message (Collapse)AuthorAgeFilesLines
* 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
|
* find_target can also go into SingularAssociationJon Leighton2011-01-163-8/+4
|
* Abstract a bit more into SingularAssociationJon Leighton2011-01-163-4/+8
|
* Use self.target= rather than @target= as the former automatically sets loadedJon Leighton2011-01-162-5/+2
|
* Abstract common code from BelongsToAssociation and HasOneAssociation into ↵Jon Leighton2011-01-164-41/+42
| | | | SingularAssociation
* belongs_to records should be initialized within the association scopeJon Leighton2011-01-161-2/+8
|
* Add create_association! for belongs_toJon Leighton2011-01-161-0/+4
|
* push !loaded? conditional upAaron Patterson2011-01-141-10/+8
|
* return early in case the left or right side lists are emptyAaron Patterson2011-01-141-5/+4
|
* only find_target can raise the exception, so isolate the rescue around that callAaron Patterson2011-01-141-5/+9
|
* we always have a target, so stop checkingAaron Patterson2011-01-141-1/+1
|
* we should use [] instead of Array.newAaron Patterson2011-01-141-1/+1
|
* @target is always a list, so stop doing is_a? checksAaron Patterson2011-01-141-1/+1
|
* move complex logic to it's own methodAaron Patterson2011-01-141-15/+19
|