aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/lib/active_record/associations
Commit message (Collapse)AuthorAgeFilesLines
* On destroying do not touch destroyed belongs to association.Paul Nikitochkin2013-12-231-1/+1
| | | | Fixes: #13445
* Merge pull request #13417 from TalkativeTree/comments_changeRichard Schneeman2013-12-191-1/+1
|\ | | | | fix CollectionAssociation's comments
| * change CollectionAssociation's comments to say Association instead of ↵Ben Angel2013-12-191-1/+1
| | | | | | | | AssociationProxy to match changes for 3.1 removing Association proxy.
* | Fix nil assignment to polymorphic belongs_toJeremy Kemper2013-12-181-0/+5
| | | | | | | | | | | | | | | | Assigning nil to a polymorphic belongs_to would nullify its _id field by not its _type field. Fixes failing test from c141dfc838a5dca9f197814410fa5d44c143129c. Regression from 1678e959e973de32287b65c52ebc6cce87148951.
* | extract cache counter logic to one methodAaron Patterson2013-12-121-11/+10
| |
* | remove duplicate codeAaron Patterson2013-12-121-15/+6
| |
* | extract a method for updating without a record objectAaron Patterson2013-12-121-6/+10
| |
* | extract methods out of the cache update methodAaron Patterson2013-12-121-14/+22
| |
* | pull a nil check up one frameAaron Patterson2013-12-121-6/+10
| |
* | remove more nil checksAaron Patterson2013-12-121-6/+5
| |
* | remove nil checkAaron Patterson2013-12-122-7/+11
| | | | | | | | | | calling replace_keys could possibly do a nil check twice, this commit reduces it to once.
* | remove the nil check from set_inverse_instanceAaron Patterson2013-12-124-4/+7
| | | | | | | | | | methods that call set_inverse_instance with a record will not have to pay the cost of a nil check on every call
* | make sure cached table name is a string. fixes #12582Aaron Patterson2013-12-121-1/+1
| |
* | Move the parameter normalization to the initialize methodRafael Mendonça França2013-12-111-4/+5
| | | | | | | | | | activerecord-deprecated_finders expects the parameters denormalized in its initialize method
* | Revert the whole refactoring in the association builder classes.Rafael Mendonça França2013-12-117-46/+62
| | | | | | | | This is to get activerecord-deprecated_finders work again
* | Mark the arguments needed by activerecord-deprecated_finders with a TODORafael Mendonça França2013-12-112-0/+4
| |
* | Revert "Merge pull request #12518 from vipulnsward/remove_count_options"Rafael Mendonça França2013-12-112-3/+5
| | | | | | | | | | | | | | It is needed for activerecord-depecated_finders This reverts commit dcff027a5242b20c0c90eb062dddb22ccf51aed9, reversing changes made to 3a2093984ff49d86db1efeff0c7581e788ecfb9f.
* | Bring back the valid_options class accessorRafael Mendonça França2013-12-116-9/+14
| | | | | | | | It is need in activerecord-deprecated_finders
* | fix typo, "state_state" should be "stale_state" [ci skip]Scott M2013-12-071-1/+1
| |
* | polymorphic belongs_to association with touch: true updates old record correctlySeverin Schoepke2013-12-051-1/+7
| | | | | | | | | | | | | | | | | | Example: Given you have a comments model with a polymorphic commentable association (e.g. books and songs) with the touch option set. Every time you update a comment its commentable should be touched. This was working when you changed attributes on the comment or when you moved the comment from one book to another. However, it was not working when moving a comment from a book to a song. This is now fixed.
* | Raise `ArgumentError` when `has_one` is used with `counter_cache`Godfrey Chan2013-11-292-2/+2
| | | | | | | | | | | | | | | | | | Previously, the `has_one` macro incorrectly accepts the `counter_cache` option due to a bug, although that options was never supported nor functional on `has_one` and `has_one ... through` relationships. It now correctly raises an `ArgumentError` when passed that option. For reference, this bug was introduced in 52f8e4b9.
* | tyopAkira Matsuda2013-11-261-1/+1
| |
* | Raise `RecordNotDestroyed` when children can't be replacedBrian Thomas Storti2013-11-251-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes #12812 Raise `ActiveRecord::RecordNotDestroyed` when a child marked with `dependent: destroy` can't be destroyed. The following code: ```ruby class Post < ActiveRecord::Base has_many :comments, dependent: :destroy end class Comment < ActiveRecord::Base before_destroy do return false end end post = Post.create!(comments: [Comment.create!]) post.comments = [Comment.create!] ```` would result in a `post` with two `comments`. With this commit, the same code would raise a `RecordNotDestroyed` exception, keeping the `post` with the same `comment`.
* | Merge remote-tracking branch 'docrails/master'Xavier Noria2013-11-243-15/+15
|\ \ | |/ |/| | | | | | | Conflicts: activesupport/lib/active_support/core_ext/hash/deep_merge.rb activesupport/lib/active_support/core_ext/hash/keys.rb
| * Change syntax format for example returned valuesPrem Sichanugrist2013-11-113-15/+15
| | | | | | | | | | | | | | | | | | According to our guideline, we leave 1 space between `#` and `=>`, so we want `# =>` instead of `#=>`. Thanks to @fxn for the suggestion. [ci skip]
* | Merge pull request #12918 from versioncontrol/rails-12866Rafael Mendonça França2013-11-161-1/+6
|\ \ | | | | | | | | | | | | | | | | | | Checks to see if the record contains the foreign_key to set the inverse automatically Conflicts: activerecord/CHANGELOG.md
| * | Checks to see if the record contains the foreign_key to set the inverse ↵Edo Balvers2013-11-161-1/+6
| |/ | | | | | | automatically
* | Prevent the counter cache from being decremented twicedm1try2013-11-111-1/+1
| | | | | | | | | | when destroying a record on a has_many :through association. :destroy method has own counter_cache callbacks.
* | Fixes problem with replacing has_one association record with itselfDenis Redozubov2013-11-111-2/+4
|/
* Merge pull request #12390 from kennyj/rename_to_association_methodsRafael Mendonça França2013-11-052-2/+2
|\ | | | | | | | | | | | | | | | | Renamed generated_feature_methods to generated_association_methods. Conflicts: activerecord/lib/active_record/associations/builder/association.rb activerecord/lib/active_record/associations/builder/singular_association.rb activerecord/test/cases/base_test.rb
| * Renamed generated_feature_methods to generated_association_methods.kennyj2013-09-282-2/+2
| |
* | Fix wrong behavior where associations with dependent: :destroy optionsRafael Mendonça França2013-11-011-4/+2
| | | | | | | | | | | | | | | | | | was using nullify strategy This caused a regression in applications trying to upgrade. Also if the user set the dependent option as destroy he expects to get the records removed from the database.
* | Skip `include_values` from through associations chains for building target scopePaul Nikitochkin2013-10-271-2/+6
| | | | | | | | Fixes: #12242, #9517, #10240
* | Fix typo: `has_many :pets`, not `pets :has_many`.Peter Jaros2013-10-241-1/+1
| |
* | move helper class to the topAaron Patterson2013-10-211-42/+42
| |
* | build the association graph functionallyAaron Patterson2013-10-213-20/+13
| | | | | | | | This lets us avoid the constant calls to Array#<<
* | @base_klass is not usedAaron Patterson2013-10-211-1/+0
| |
* | join_type isn't used on the node anymoreAaron Patterson2013-10-212-11/+7
| |
* | make joins generation method look similarAaron Patterson2013-10-211-6/+9
| |
* | remove node duping codeAaron Patterson2013-10-211-57/+19
| |
* | refactor outer join generationAaron Patterson2013-10-211-11/+6
| |
* | add outer joins for matching nodesAaron Patterson2013-10-211-2/+14
| |
* | construct joins by walking the outer join treeAaron Patterson2013-10-211-5/+34
| |
* | pass the outer joins to join_constraintsAaron Patterson2013-10-201-1/+2
| |
* | disconnect join_constraints from the instanceAaron Patterson2013-10-202-3/+3
| |
* | pass in scope chain so reflection is not neededAaron Patterson2013-10-202-3/+3
| |
* | pass the foreign table and class to the join_constraints methodAaron Patterson2013-10-202-5/+4
| |
* | pass the join type to the join_constraints methodAaron Patterson2013-10-202-2/+3
| |
* | use the node as cache so we can avoid accessing the tableAaron Patterson2013-10-151-13/+13
| |
* | apply tables to the whole tree from the outsideAaron Patterson2013-10-151-14/+8
| |