aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/lib/active_record/associations
Commit message (Collapse)AuthorAgeFilesLines
* make most parameters to the AliasTracker requiredAaron Patterson2014-02-142-6/+4
| | | | | This helps with our sanity. The class is internal, we can refactor to a "nice" API later.
* make a singleton for AssociationScopeAaron Patterson2014-02-142-1/+7
| | | | | AssociationScope no longer maintains state, so we're safe to keep a singleton and save on GC time
* pass the association and connection to the scope methodAaron Patterson2014-02-142-9/+3
|
* pass the tracker down the stack and construct it in the scope methodAaron Patterson2014-02-141-18/+18
|
* clean up add_constraints signatureAaron Patterson2014-02-141-8/+9
|
* remove the reflection delegateAaron Patterson2014-02-141-15/+14
|
* remove klass delegatorAaron Patterson2014-02-141-10/+11
|
* remove chain delegateAaron Patterson2014-02-141-5/+6
|
* remove scope_chain delegateAaron Patterson2014-02-141-3/+3
|
* remove more delegate methodsAaron Patterson2014-02-131-7/+9
|
* :scissors: whitespaceAaron Patterson2014-02-131-1/+0
|
* rm delegate methods that are not actually usedAaron Patterson2014-02-131-2/+2
|
* JoinHelper is never reused, so there is no need to separateAaron Patterson2014-02-132-41/+25
|
* speed up the collection proxy reader method, but slow down the constructorAaron Patterson2014-02-131-1/+5
|
* Dont use Enumarator on join_associationArthur Neves2014-02-131-2/+4
|
* Avoid using deprecated arel constantsRafael Mendonça França2014-02-102-3/+3
|
* Merge pull request #13899 from ↵Rafael Mendonça França2014-02-041-1/+1
|\ | | | | | | | | Fortisque/kevin/active_record_HABTM_with_belongs_to destruction errors out on HABTM w/out primary key
| * fix HABTM w/out primary key errors on destructionKevin Casey2014-02-021-1/+1
| |
* | this class depends on JoinHelper, so we should require itAaron Patterson2014-01-311-0/+2
|/
* Associations now raise `ArgumentError` on name conflicts.Lauro Caetano2014-01-311-0/+6
| | | | | Dangerous association names conflicts include instance or class methods already defined by `ActiveRecord::Base`.
* Make CollectionProxy#reset return selfRafael Mendonça França2014-01-221-1/+2
|
* Calling reset on a collection association should unload the assocationKelsey Schlarman2014-01-211-0/+21
| | | | Need to define #reset on CollectionProxy.
* Ensure AR #second, #third, etc. finders work through associationsJason Meller2014-01-212-5/+51
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit fixes two regressions introduced in cafe31a078 where newly created finder methods #second, #third, #forth, and #fifth caused a NoMethodError error on reload associations and where we were pulling the wrong element out of cached associations. Examples: some_book.authors.reload.second # Before # => NoMethodError: undefined method 'first' for nil:NilClass # After # => #<Author id: 2, name: "Sally Second", ...> some_book.first.authors.first some_book.first.authors.second # Before # => #<Author id: 1, name: "Freddy First", ...> # => #<Author id: 1, name: "Freddy First", ...> # After # => #<Author id: 1, name: "Freddy First", ...> # => #<Author id: 2, name: "Sally Second", ...> Fixes #13783.
* add missing information for `id` field when used with `select` [ci skip]Kuldeep Aggarwal2014-01-221-1/+1
|
* `has_one` and `belongs_to` accessors don't add ORDER BY to the queries anymore.Rafael Mendonça França2014-01-211-1/+1
| | | | | | | | | | Since Rails 4.0, we add an ORDER BY in the `first` method to ensure consistent results among different database engines. But for singular associations this behavior is not needed since we will have one record to return. As this ORDER BY option can lead some performance issues we are removing it for singular associations accessors. Fixes #12623.
* directly create the ARel ASTAaron Patterson2014-01-141-6/+4
| | | | rather than allocating a new Relation, just make the AST directly
* Change all "can not"s to the correct "cannot".T.J. Schuck2014-01-031-1/+1
|
* Merge pull request #10134 from ↵Rafael Mendonça França2014-01-032-5/+5
|\ | | | | | | | | derikson/collection_proxy_select_with_multiple_args Change CollectionProxy#select to take the same arguments as ActiveRecord::select
| * Changed ActiveRecord::Associations::CollectionProxy#select to take multiple ↵Dan Erikson2013-04-082-5/+5
| | | | | | | | | | | | arguments. This makes the arguments the same as ActiveRecord::QueryMethods::select.
* | Merge pull request #13550 from vipulnsward/13437-fixRafael Mendonça França2014-01-011-1/+1
|\ \ | | | | | | | | | | | | | | | | | | Fix for #13437 Conflicts: activerecord/CHANGELOG.md
| * | https://github.com/rails/rails/commit/2075f39d726cef361170218fd16421fc52bed5 ↵Vipul A M2013-12-311-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | a8 introduced a regression in includes/preloades by calling `read_attribute` on an association when preloading takes places, instead of using loaded records in `association.target`. tl;dr Records are not made properly available via `read_attribute` when preloding in simultaneous, but value of `@loaded` is already set true, and records concatenated in `association.target` on an association object. When `@loaded` is true we return an object of `AlreadyLoaded` in preload_for. In `AlreadyLoaded` to return preloaded records we make wrong use of `read_attribute`, instead of `target` records. The regression is fixed by making use of the loaded records in `association.target` when the preloading takes place. Fixes #13437
* | | Make outer joins on proper parentWashington Luiz2013-12-311-1/+1
|/ / | | | | | | | | Outer joins were being built on the root relation klass rather than the one specified in the join dependency root
* | 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