aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/lib/active_record/reflection.rb
Commit message (Collapse)AuthorAgeFilesLines
* Allow the :class_name option for associations to take a symbol.Jon Leighton2011-11-041-1/+1
| | | | | This is to avoid confusing newbies, and to be consistent with the fact that other options like :foreign_key already allow a symbol or a string.
* Fix #3271.Jon Leighton2011-11-031-1/+1
| | | | | | | | Building the conditions of a nested through association could potentially modify the conditions of the through and/or source association. This is a Bad Thing.
* Raise an exception on unknown primary key inside AssociationReflection.Jon Leighton2011-10-051-4/+8
| | | | | An association between two models cannot be made if a relevant key is unknown, so fail fast rather than generating invalid SQL. Fixes #3207.
* Don't call self.class unless necessary. Closes #3171.Jon Leighton2011-09-291-2/+2
|
* Fix belongs_to polymorphic with custom primary key on target.Jon Leighton2011-09-261-15/+11
| | | | Closes #3104.
* Ensure we are not comparing a string with a symbol in ↵Jon Leighton2011-09-061-1/+1
| | | | HasManyAssociation#inverse_updates_counter_cache?. Fixes #2755, where a counter cache could be decremented twice as far as it was supposed to be.
* calling super is super. if the other object is exactly equal, we can return ↵Aaron Patterson2011-07-011-1/+5
| | | | early
* Remove AssociationReflection#create_association and ↵Jon Leighton2011-06-301-17/+0
| | | | AssociationReflection#create_association! - they are not called from anywhere.
* Assign the association attributes to the associated record before the ↵Jon Leighton2011-06-301-2/+2
| | | | before_initialize callback of the record runs. Fixes #1842.
* cache the plural name on the reflection so we do not pay pluralize costs on ↵Aaron Patterson2011-06-301-6/+13
| | | | joins
* Merge branch 'master' of github.com:rails/railsXavier Noria2011-05-251-6/+0
|\
| * removed deprecated methods, and related tests, from ActiveRecordJosh Kalderimis2011-05-251-6/+0
| |
* | Merge branch 'master' of git://github.com/lifo/docrailsXavier Noria2011-05-251-1/+1
|\ \ | |/ |/| | | | | | | Conflicts: actionmailer/lib/action_mailer/base.rb activesupport/lib/active_support/core_ext/kernel/requires.rb
| * Remove extra white spaces on ActiveRecord docs.Sebastian Martinez2011-05-231-1/+1
| |
* | Fix problem with loading polymorphic associations which have been defined in ↵Jon Leighton2011-05-221-5/+4
|/ | | | an abstract superclass. Fixes #552.
* Remove `#among?` from Active SupportPrem Sichanugrist2011-04-131-1/+1
| | | | | | After a long list of discussion about the performance problem from using varargs and the reason that we can't find a great pair for it, it would be best to remove support for it for now. It will come back if we can find a good pair for it. For now, Bon Voyage, `#among?`.
* Change Object#either? to Object#among? -- thanks to @jamesarosen for the ↵David Heinemeier Hansson2011-04-121-1/+1
| | | | suggestion!
* Using Object#in? and Object#either? in various placesPrem Sichanugrist2011-04-111-1/+2
| | | | There're a lot of places in Rails source code which make a lot of sense to switching to Object#in? or Object#either? instead of using [].include?.
* Simplify implementation of ThroughReflection#chainJon Leighton2011-03-111-22/+2
|
* Rename Reflection#through_reflection_chain and #through_options to ↵Jon Leighton2011-03-101-27/+33
| | | | Reflection#chain and Reflection#options as they now no longer relate solely to through associations.
* Move the code which builds a scope for through associations into a generic ↵Jon Leighton2011-03-101-3/+3
| | | | AssociationScope class which is capable of building a scope for any association.
* Fix ↵Jon Leighton2011-03-071-1/+1
| | | | test_has_many_association_through_a_has_many_association_with_nonstandard_primary_keys
* Refactor ThroughAssociation#join_to to be much smaller, and independent of ↵Jon Leighton2011-03-061-0/+6
| | | | construct_owner_conditions.
* Push source_type and polymorphic conditions out of ThroughAssociation and ↵Jon Leighton2011-03-051-10/+11
| | | | JoinDependency::JoinAssociation and into the reflection instead.
* Add a test for STI on the through where the through is nested, and change ↵Jon Leighton2011-03-051-0/+3
| | | | the code which support this
* Merge branch 'master' into nested_has_many_throughJon Leighton2011-03-041-18/+65
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: activerecord/CHANGELOG activerecord/lib/active_record/association_preload.rb activerecord/lib/active_record/associations.rb activerecord/lib/active_record/associations/class_methods/join_dependency.rb activerecord/lib/active_record/associations/class_methods/join_dependency/join_association.rb activerecord/lib/active_record/associations/has_many_association.rb activerecord/lib/active_record/associations/has_many_through_association.rb activerecord/lib/active_record/associations/has_one_association.rb activerecord/lib/active_record/associations/has_one_through_association.rb activerecord/lib/active_record/associations/through_association_scope.rb activerecord/lib/active_record/reflection.rb activerecord/test/cases/associations/has_many_through_associations_test.rb activerecord/test/cases/associations/has_one_through_associations_test.rb activerecord/test/cases/reflection_test.rb activerecord/test/cases/relations_test.rb activerecord/test/fixtures/memberships.yml activerecord/test/models/categorization.rb activerecord/test/models/category.rb activerecord/test/models/member.rb activerecord/test/models/reference.rb activerecord/test/models/tagging.rb
| * Rewrote AssociationPreload.Jon Leighton2011-02-281-4/+6
| |
| * Delegate Association#options to the reflection, and replace ↵Jon Leighton2011-02-211-0/+8
| | | | | | | | 'reflection.options' with 'options'. Also add through_options and source_options methods for through associations.
| * Split AssociationProxy into an Association class (and subclasses) which ↵Jon Leighton2011-02-181-1/+1
| | | | | | | | manages the association, and a CollectionProxy class which is *only* a proxy. Singular associations no longer have a proxy. See CHANGELOG for more.
| * Ensure that association_ids uses the correct attribute where the association ↵Jon Leighton2011-02-181-0/+4
| | | | | | | | is a has_many :through with a :primary_key option on the source reflection. [#6376 state:resolved]
| * DRY up the code which instantiates the association proxyJon Leighton2011-01-111-0/+25
| |
| * Implement deprecated version of AssociationReflection#primary_key_name, ↵Jon Leighton2011-01-031-0/+6
| | | | | | | | which has been renamed to #foreign_key. Also bumping the deprecation_horizon in Active Support to 3.1.
| * Have a proper AssociationReflection#foreign_type method rather than using ↵Jon Leighton2011-01-031-0/+4
| | | | | | | | options[:foreign_type]
| * Rename AssociationReflection#primary_key_name to foreign_key, since the ↵Jon Leighton2010-12-311-7/+7
| | | | | | | | options key which it relates to is :foreign_key
| * Now we can drop-kick AssociationReflection#dependent_conditions into oblivion.Jon Leighton2010-12-311-11/+0
| |
| * Raise an error for associations which try to go :through a polymorphic ↵Jon Leighton2010-12-231-1/+5
| | | | | | | | association [#6212 state:resolved]
| * Improved strategy for updating a belongs_to association when the foreign key ↵Jon Leighton2010-12-231-1/+4
| | | | | | | | changes. Rather than resetting each affected association when the foreign key changes, we should lazily check for 'staleness' (where fk does not match target id) when the association is accessed.
| * Don't allow a has_one association to go :through a collection association ↵Jon Leighton2010-12-231-0/+4
| | | | | | | | [#2976 state:resolved]
| * Fix problem where wrong keys are used in JoinAssociation when an association ↵Jon Leighton2010-12-201-0/+4
| | | | | | | | goes :through a belongs_to [#2801 state:resolved]
| * Fix various issues with the :primary_key option in :through associations ↵Jon Leighton2010-12-151-1/+5
| | | | | | | | [#2421 state:resolved]
| * reduce method callsAaron Patterson2010-12-161-1/+1
| |
* | Merge branch 'master' into nested_has_many_throughJon Leighton2010-12-121-1/+1
|\ \ | | | | | | | | | | | | | | | | | | | | | Conflicts: activerecord/CHANGELOG activerecord/lib/active_record/associations/class_methods/join_dependency.rb activerecord/lib/active_record/associations/class_methods/join_dependency/join_association.rb activerecord/lib/active_record/associations/has_many_through_association.rb
| * | reduce method callsAaron Patterson2010-12-101-1/+1
| |/
* | Merge branch 'master' into nested_has_many_throughJon Leighton2010-11-271-11/+9
|\| | | | | | | | | | | Conflicts: activerecord/CHANGELOG activerecord/lib/active_record/associations.rb
| * class inheritable attributes is used no more! all internal use of class ↵Josh Kalderimis2010-11-201-11/+9
| | | | | | | | | | | | inheritable has been changed to class_attribute. class inheritable attributes has been deprecated. Signed-off-by: José Valim <jose.valim@gmail.com>
* | Fix naughty trailing whitespaceJon Leighton2010-10-311-21/+21
| |
* | Merge branch 'master' into nested_has_many_throughJon Leighton2010-10-281-2/+2
|\| | | | | | | | | | | | | | | Conflicts: activerecord/CHANGELOG activerecord/lib/active_record/association_preload.rb activerecord/lib/active_record/associations.rb activerecord/test/schema/schema.rb
| * use grep instead of select + is_a?Aaron Patterson2010-10-201-2/+2
| |
* | Add some comments for ThroughReflection#through_reflection_chainJon Leighton2010-10-191-1/+10
| |
* | Remove various comments and code which were just being used during the ↵Jon Leighton2010-10-191-24/+0
| | | | | | | | development of nested through association support (OMFGZ, I might just have nearly finished this\!