Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Use Base#type_condition in JoinAssociation | Jon Leighton | 2011-03-05 | 1 | -15/+4 |
| | |||||
* | Push source_type and polymorphic conditions out of ThroughAssociation and ↵ | Jon Leighton | 2011-03-05 | 2 | -35/+0 |
| | | | | JoinDependency::JoinAssociation and into the reflection instead. | ||||
* | Add a test for STI on the through where the through is nested, and change ↵ | Jon Leighton | 2011-03-05 | 1 | -13/+22 |
| | | | | the code which support this | ||||
* | Stop identity-mapping the through records in the preloader since I fixed the ↵ | Jon Leighton | 2011-03-04 | 1 | -5/+0 |
| | | | | underlying problem in the habtm preloader. | ||||
* | Fix a couple of tests in join_model_test.rb which were failing when the ↵ | Jon Leighton | 2011-03-04 | 1 | -2/+2 |
| | | | | identity map is turned off | ||||
* | When preloading has_and_belongs_to_many associations, we should only ↵ | Jon Leighton | 2011-03-04 | 1 | -2/+4 |
| | | | | instantiate one AR object per actual record in the database. (Even when IM is off.) | ||||
* | Merge branch 'master' into nested_has_many_through | Jon Leighton | 2011-03-04 | 1 | -0/+5 |
|\ | |||||
* | | Merge branch 'master' into nested_has_many_through | Jon Leighton | 2011-03-04 | 42 | -2259/+3173 |
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 | ||||
| * | Move JoinDependency and friends from ↵ | Jon Leighton | 2011-02-28 | 8 | -620/+612 |
| | | | | | | | | ActiveRecord::Associations::ClassMethods to just ActiveRecord::Associations | ||||
| * | Rewrote AssociationPreload. | Jon Leighton | 2011-02-28 | 11 | -0/+553 |
| | | |||||
| * | Use proper objects to do the work to build the associations (adding methods, ↵ | Jon Leighton | 2011-02-21 | 11 | -4/+501 |
| | | | | | | | | callbacks etc) rather than calling a whole bunch of methods with rather long names. | ||||
| * | Rename target_klass to klass | Jon Leighton | 2011-02-21 | 3 | -10/+10 |
| | | |||||
| * | Delegate through_reflection and source_reflection to reflection | Jon Leighton | 2011-02-21 | 3 | -34/+34 |
| | | |||||
| * | Delegate Association#options to the reflection, and replace ↵ | Jon Leighton | 2011-02-21 | 7 | -47/+49 |
| | | | | | | | | 'reflection.options' with 'options'. Also add through_options and source_options methods for through associations. | ||||
| * | Singular associations no longer use a proxy, so no need to check for the ↵ | Jon Leighton | 2011-02-21 | 3 | -8/+2 |
| | | | | | | | | proxy type on assignment. | ||||
| * | Associations - where possible, call attributes methods rather than directly ↵ | Jon Leighton | 2011-02-21 | 11 | -179/+179 |
| | | | | | | | | accessing the instance variables | ||||
| * | Initialize @target instead asking if it is defined. | Emilio Tagua | 2011-02-18 | 1 | -1/+2 |
| | | |||||
| * | Reindent and remove wrong line left in merge by mistake. | Emilio Tagua | 2011-02-18 | 1 | -4/+3 |
| | | |||||
| * | Merge remote branch 'rails/master' into identity_map | Emilio Tagua | 2011-02-18 | 11 | -473/+527 |
| |\ | | | | | | | | | | | | | | | | Conflicts: activerecord/lib/active_record/associations/association.rb activerecord/lib/active_record/fixtures.rb | ||||
| | * | Split AssociationProxy into an Association class (and subclasses) which ↵ | Jon Leighton | 2011-02-18 | 9 | -276/+287 |
| | | | | | | | | | | | | manages the association, and a CollectionProxy class which is *only* a proxy. Singular associations no longer have a proxy. See CHANGELOG for more. | ||||
| | * | Add :nodoc: to ThroughAssociation and HasOneAssociation | Jon Leighton | 2011-02-18 | 2 | -2/+2 |
| | | | |||||
| | * | Allow building and then later saving has_many :through records, such that ↵ | Jon Leighton | 2011-02-18 | 1 | -4/+46 |
| | | | | | | | | | | | | the join record is automatically saved too. This requires the :inverse_of option to be set on the source association in the join model. See the CHANGELOG for details. [#4329 state:resolved] | ||||
| * | | Don't shadow outer local variable. | Emilio Tagua | 2011-02-15 | 1 | -2/+2 |
| | | | |||||
| * | | Merge remote branch 'rails/master' into identity_map | Emilio Tagua | 2011-02-15 | 14 | -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 Leighton | 2011-02-14 | 1 | -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 place | Jon Leighton | 2011-02-14 | 1 | -8/+4 |
| | | | |||||
| | * | @target should always be an array | Jon Leighton | 2011-02-14 | 1 | -1/+2 |
| | | | |||||
| | * | Rename add_record_to_target_with_callbacks to add_to_target | Jon Leighton | 2011-02-14 | 1 | -4/+4 |
| | | | |||||
| | * | Don't pass the block through build_record | Jon Leighton | 2011-02-14 | 1 | -10/+8 |
| | | | |||||
| | * | Move create and create! next to build | Jon Leighton | 2011-02-14 | 1 | -21/+21 |
| | | | |||||
| | * | Get rid of create_record as it is not only used in one place | Jon Leighton | 2011-02-14 | 1 | -8/+7 |
| | | | |||||
| | * | Get rid of AssociationCollection#save_record | Jon Leighton | 2011-02-14 | 4 | -25/+25 |
| | | | |||||
| | * | Add interpolation of association conditions back in, in the form of proc { ↵ | Jon Leighton | 2011-02-14 | 5 | -12/+19 |
| | | | | | | | | | | | | ... } rather than instance_eval-ing strings | ||||
| | * | Remove Relation#& alias for Relation#merge | Ernie Miller | 2011-02-12 | 2 | -2/+2 |
| | | | |||||
| | * | Fix table name collision due to incorrect alias count on certain joins. | Ernie Miller | 2011-02-12 | 1 | -4/+4 |
| | | | | | | | | | | | | | | | | | | [#6423 state:committed] Signed-off-by: Santiago Pastorino <santiago@wyeworks.com> | ||||
| | * | just return the record from insert_record, use truthiness for comparisons | Aaron Patterson | 2011-02-07 | 1 | -2/+2 |
| | | | |||||
| | * | Refactor the implementations of AssociatioCollection#delete and #destroy to ↵ | Jon Leighton | 2011-02-07 | 4 | -18/+14 |
| | | | | | | | | | | | | be more consistent with each other, and to stop passing blocks around, thus making the execution easier to follow. | ||||
| | * | This string should continue | Jon Leighton | 2011-02-07 | 1 | -1/+1 |
| | | | |||||
| | * | Correctly update counter caches on deletion for has_many :through [#2824 ↵ | Jon Leighton | 2011-02-07 | 2 | -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 Leighton | 2011-02-07 | 2 | -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 Leighton | 2011-02-07 | 4 | -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 Relation | Santiago Pastorino | 2011-02-01 | 1 | -3/+1 |
| | | | |||||
| | * | Propagate association extensions to scopes called on the association. | Glenn Vanderburg | 2011-02-01 | 1 | -0/+3 |
| | | | | | | | | | | | | Signed-off-by: Santiago Pastorino <santiago@wyeworks.com> | ||||
| | * | Make use of helpers in AssociationReflection | Jon Leighton | 2011-01-30 | 1 | -4/+4 |
| | | | |||||
| | * | Has many through - It is not necessary to manually merge in the conditions ↵ | Jon Leighton | 2011-01-30 | 1 | -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 used | Jon Leighton | 2011-01-30 | 1 | -2/+1 |
| | | | |||||
| | * | Make AssociationCollection#include? a bit more readable | Jon Leighton | 2011-01-30 | 1 | -4/+10 |
| | | | |||||
| | * | Don't use method_missing when we don't have to | Jon Leighton | 2011-01-30 | 1 | -2/+2 |
| | | | |||||
| | * | AssociationCollection#clear can basically just use #delete_all, except it ↵ | Jon Leighton | 2011-01-30 | 1 | -13/+7 |
| | | | | | | | | | | | | should return self. | ||||
| | * | AssociationCollection#to_ary should definitely dup the target! Also changed ↵ | Jon Leighton | 2011-01-30 | 1 | -3/+3 |
| | | | | | | | | | | | | #replace which was previously incorrect, but the test passed due to the fact that to_a was not duping. |