aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/test/cases/relation/delegation_test.rb
Commit message (Collapse)AuthorAgeFilesLines
* Add test to 57daaefRafael Mendonça França2015-05-281-1/+1
|
* Put back Relation#join method as a delegate to ArrayBogdan Gusiev2014-05-051-1/+1
| | | | | | | | This is a regression 4.0 -> 4.1 fix. In 4.1.0 Relation#join is delegated to Arel#SelectManager. In 4.0 series it is delegated to Array#join This patch puts back the behaviour of 4.0
* Create a blacklist to disallow mutator methods to be delegated to `Array`.Lauro Caetano2013-12-171-4/+11
| | | | | | | | This change was necessary because the whitelist wouldn't work. It would be painful for users trying to update their applications. This blacklist intent to prevent odd bugs and confusion in code that call mutator methods directely on the `Relation`.
* Add a bunch of Relation -> Array delegate methods to the whitelist. This ↵Jeremy Kemper2013-12-121-28/+14
| | | | won't last - aim to switch back to a blacklist for mutator methods.
* Use `public_send` instead of just use `send`.Lauro Caetano2013-12-121-4/+4
|
* Use a whitelist to delegate methods to arrayLauro Caetano2013-12-121-57/+32
|
* `delgated` => `delegated`Akshay Vishnoi2013-11-251-4/+4
|
* Avoid sorting an Array including objects from different ClassesAkira Matsuda2013-11-111-1/+1
| | | | addresses "ArgumentError: comparison of VerySpecialComment with SpecialComment failed" in ActiveRecord::DelegationRelationTest#test_#sort!_delegation_is_deprecated
* Load test fixtures where data are neededAkira Matsuda2013-11-111-0/+2
| | | | Without this, some tests here were not actually testing anything.
* A tiny grammatical fixAkira Matsuda2013-11-111-1/+1
| | | | [ci skip]
* Allow methods arity below -1 in assert_responds.Federico Ravasio2013-10-081-3/+4
| | | | | | | | Every method from MRI's core classes is written in C. This means Method#arity always returns -1 for methods with a variable number of arguments. This is not the case with Rubinius, where, for example Array#slice! is implemented in Ruby and has arity -2, since is defined as def slice!(start, length = undefined)
* Deprecate the delegation of Array bang methods in ActiveRecord::DelegationBen Woosley2013-09-041-0/+97
The primary means of returning results for Array bang methods is to modify the array in-place. When you call these methods on a relation, that array is created, modified, and then thrown away. Only the secondary return value is exposed to the caller. Removing this delegation is a straight-forward way to reduce user error by forcing callers to first explicitly call #to_a in order to expose the array to be acted on by the bang method.