aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/lib/active_record/associations/has_many_association.rb
Commit message (Collapse)AuthorAgeFilesLines
* Perf: Don't load the association for #delete_all.Jon Leighton2012-05-181-2/+6
| | | | Bug #6289
* Fix #3672 again (dependent: delete_all perf)Jon Leighton2011-12-141-7/+3
|
* load has_many associations keyed off a custom primary key if that key is ↵Brian Samson2011-11-251-0/+4
| | | | present but the record is unsaved
* Perf fixJon Leighton2011-11-191-2/+6
| | | | | | | If we're deleting all records in an association, don't add a IN(..) clause to the query. Fixes #3672.
* Only save the record once when calling create! on a collection association. ↵Jon Leighton2011-05-311-2/+7
| | | | Fixes #1360.
* Remove extra white spaces on ActiveRecord docs.Sebastian Martinez2011-05-231-1/+1
|
* Move the code which builds a scope for through associations into a generic ↵Jon Leighton2011-03-101-2/+0
| | | | AssociationScope class which is capable of building a scope for any association.
* Use proper objects to do the work to build the associations (adding methods, ↵Jon Leighton2011-02-211-0/+1
| | | | callbacks etc) rather than calling a whole bunch of methods with rather long names.
* Delegate Association#options to the reflection, and replace ↵Jon Leighton2011-02-211-2/+2
| | | | 'reflection.options' with 'options'. Also add through_options and source_options methods for through associations.
* Associations - where possible, call attributes methods rather than directly ↵Jon Leighton2011-02-211-16/+16
| | | | accessing the instance variables
* Split AssociationProxy into an Association class (and subclasses) which ↵Jon Leighton2011-02-181-7/+5
| | | | manages the association, and a CollectionProxy class which is *only* a proxy. Singular associations no longer have a proxy. See CHANGELOG for more.
* Get rid of AssociationCollection#save_recordJon Leighton2011-02-141-2/+2
|
* Refactor the implementations of AssociatioCollection#delete and #destroy to ↵Jon Leighton2011-02-071-1/+1
| | | | be more consistent with each other, and to stop passing blocks around, thus making the execution easier to follow.
* Correctly update counter caches on deletion for has_many :through [#2824 ↵Jon Leighton2011-02-071-15/+39
| | | | 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.
* Make record.association.destroy(*records) on habtm and hm:t only delete ↵Jon Leighton2011-02-071-11/+11
| | | | 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.
* Rename AssociationProxy#loaded to loaded! as it mutates the associationJon Leighton2011-01-301-1/+1
|
* Let's be less blasé about method visibility on association proxiesJon Leighton2011-01-301-5/+8
|
* Construct an actual ActiveRecord::Relation object for the association scope, ↵Jon Leighton2011-01-071-3/+1
| | | | rather than a hash which is passed to apply_finder_options. This allows more flexibility in how the scope is created, for example because scope.where(a, b) and scope.where(a).where(b) mean different things.
* Create the association scope directly rather than going through with_scopeJon Leighton2011-01-031-1/+1
|
* Use the association directly in other places tooJon Leighton2011-01-031-4/+2
|
* Let AssociationCollection#find use #scoped to do its finding. Note that I am ↵Jon Leighton2011-01-031-10/+0
| | | | removing test_polymorphic_has_many_going_through_join_model_with_disabled_include, since this specifies different behaviour for an association than for a regular scope. It seems reasonable to expect scopes and association proxies to behave in roughly the same way rather than having subtle differences.
* Rename AssociationReflection#primary_key_name to foreign_key, since the ↵Jon Leighton2010-12-311-1/+1
| | | | options key which it relates to is :foreign_key
* And owner_quoted_id can go tooJon Leighton2010-12-311-8/+0
|
* Refactor we_can_set_the_inverse_on_this? to use a less bizarre name amongst ↵Jon Leighton2010-12-261-4/+0
| | | | other things
* Associations: DRY up the code which is generating conditions, and make it ↵Jon Leighton2010-12-261-16/+2
| | | | all use arel rather than SQL strings
* Remove target_obsolete? which is not called from anywhereJon Leighton2010-12-261-4/+0
|
* Avoid Symbol#to_proc for performance reasons in Ruby 1.8Jon Leighton2010-12-201-3/+3
|
* has_many associations with :dependent => :delete_all should update the ↵Jon Leighton2010-12-201-1/+3
| | | | counter cache when deleting records
* Refactor delete_records in HasManyAssociationJon Leighton2010-12-201-7/+8
|
* Specify insert_record with NotImplementedError in AssociationCollection, to ↵Jon Leighton2010-12-201-1/+1
| | | | indicate that subclasses should implement it. Also add save_record to reduce duplication.
* removing more calls to deprecated methodsAaron Patterson2010-12-021-2/+3
|
* reduce method callsAaron Patterson2010-11-241-1/+1
|
* removing ternaryAaron Patterson2010-11-231-1/+1
|
* Refactor && simplify count_records.Emilio Tagua2010-11-231-5/+1
|
* Remove explicit return and avoid creating local var.Emilio Tagua2010-11-241-2/+1
|
* Remove explicit return.Emilio Tagua2010-11-241-1/+1
|
* Refactoring: replace the mix of variables like @finder_sql, @counter_sql, ↵Jon Leighton2010-10-301-32/+24
| | | | etc with just a single scope hash (created on initialization of the proxy). This is now used consistently across all associations. Therefore, all you have to do to ensure finding/counting etc is done correctly is implement the scope correctly.
* Deletes trailing whitespaces (over text files only find * -type f -exec sed ↵Santiago Pastorino2010-08-141-4/+4
| | | | 's/[ \t]*$//' -i {} \;)
* removing references to arel constantsAaron Patterson2010-08-131-1/+1
|
* avoiding symbol to proc againAaron Patterson2010-08-131-1/+1
|
* standarizes the use of the article "an" for "SQL" and "SQLite"Xavier Noria2010-08-051-1/+1
|
* splitting a really long line into multiple lines which is easy on eyesNeeraj Singh2010-06-291-1/+5
| | | | Signed-off-by: José Valim <jose.valim@gmail.com>
* Adds title to activerecord/lib/active_record/associations/*Rizwan Reza2010-06-161-0/+1
|
* clean up more warnings, remove unnecessary methods, fix eval line numbers. ↵Aaron Patterson2010-03-161-0/+4
| | | | | | [#4193 state:resolved] Signed-off-by: wycats <wycats@gmail.com>
* save(false) is gone, use save(:validate => false) instead.José Valim2010-01-171-1/+1
|
* Use Arel::Table instead of ActiveRecord::Relation from HABTM and ↵Pratik Naik2010-01-011-1/+1
| | | | has_many#delete_records
* Rename Model.conditions and relation.conditions to .wherePratik Naik2009-12-261-1/+1
|
* Revert "Split arel_table into method to get a relation and another to ↵Jeremy Kemper2009-11-131-1/+1
| | | | | | memoize the default relation." This reverts commit bd51790895fc75a3b4e19e8dd7aa6dc389d77068.
* Split arel_table into method to get a relation and another to memoize the ↵Jeremy Kemper2009-11-131-1/+1
| | | | default relation.
* Arel::In -> Arel::Predicates::InJeremy Kemper2009-11-021-1/+1
|