aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* push merge code to the callback itselfAaron Patterson2013-05-101-18/+10
|
* dup the callback and set the chainAaron Patterson2013-05-101-8/+8
|
* remove klass because it is not usedAaron Patterson2013-05-101-9/+7
|
* rename instance variablesAaron Patterson2013-05-101-12/+14
|
* push duplicates? logic to the instanceAaron Patterson2013-05-101-16/+7
|
* callback chain is in charge of the cache, so remove method based cacheAaron Patterson2013-05-101-21/+0
|
* __define_callbacks method is not necessary anymoreAaron Patterson2013-05-101-8/+1
|
* just run compiled callbacks since they are cachedAaron Patterson2013-05-101-14/+4
|
* cache compiled callbacksAaron Patterson2013-05-101-7/+27
|
* use delegation over inheritance so we can figure when to cache / bust cacheAaron Patterson2013-05-101-5/+22
|
* fixing activemodel testsAaron Patterson2013-05-101-1/+2
|
* use an environment object to hold state about the filter callsAaron Patterson2013-05-101-21/+41
|
* object based callbacks cannot be duplicatedAaron Patterson2013-05-101-7/+4
|
* pass the run block as a normal variable to the rest of the callbacksAaron Patterson2013-05-101-12/+12
|
* fixing more variable namesAaron Patterson2013-05-101-10/+10
|
* fix variable nameAaron Patterson2013-05-101-6/+6
|
* reduce the number of lambasAaron Patterson2013-05-101-5/+2
|
* callback sequence is no longer usedAaron Patterson2013-05-101-6/+0
|
* no need for variable assignments, just pass the values inAaron Patterson2013-05-101-6/+2
|
* make_lambda is never called with an ArrayAaron Patterson2013-05-101-2/+0
|
* callbacks are wrapped with lambdasAaron Patterson2013-05-103-108/+78
|
* remove dead codeAaron Patterson2013-05-101-10/+0
|
* fix method namesAaron Patterson2013-05-101-40/+44
|
* using lambas for the callback bodiesAaron Patterson2013-05-101-32/+12
|
* wrap all options in lambasAaron Patterson2013-05-101-7/+13
|
* conditions in callbacks return consistent lambdasAaron Patterson2013-05-101-9/+43
|
* Merge pull request #10558 from Empact/cleanup-finder-methodsRafael Mendonça França2013-05-104-28/+25
|\ | | | | Cleanup finder methods
| * Extract JoinDependency#join_relation to DRY the repeated application of the ↵Ben Woosley2013-05-103-7/+9
| | | | | | | | #join_associations.
| * In #apply_join_dependency, we can apply the #where in-place because relation ↵Ben Woosley2013-05-101-1/+1
| | | | | | | | | | | | is always a new object. Thanks to the #except we call at the top of the method.
| * DRY-up join dependency creation by extracting construct_join_depdencyBen Woosley2013-05-101-7/+5
| |
| * Pull the excepts into apply_join_dependency, for the sake of DRY.Ben Woosley2013-05-101-3/+4
| |
| * Simplify conditions within apply_join_dependencyBen Woosley2013-05-101-9/+5
| |
| * Move the except(:select) inside the construct_limited_ids_condition method ↵Ben Woosley2013-05-101-2/+2
| | | | | | | | to pair it closely with its motivation.
| * Reject blank order_values within #columns_for_distinct, as the orders aren't ↵Ben Woosley2013-05-102-3/+3
|/ | | | used at all on non-postgres adapters.
* Move #proxy_association method to AssociationRelationJon Leighton2013-05-103-4/+6
|
* Merge pull request #6792 from Empact/postgres-distinctJon Leighton2013-05-105-12/+61
|\ | | | | Fix that #exists? can produce invalid SQL: "SELECT DISTINCT DISTINCT"
| * Fix that #exists? can produce invalid SQL: "SELECT DISTINCT DISTINCT"Ben Woosley2013-05-105-12/+61
| | | | | | | | | | | | | | | | | | | | | | | | The combination of a :uniq => true association and the #distinct call in #construct_limited_ids_condition combine to create invalid SQL, because we're explicitly selecting DISTINCT, and also sending #distinct on to AREL, via the relation#distinct_value. Rather than build a select distinct clause in #construct_limited_ids_condition, I set #distinct! and pass just the columns into the select statement. This requires introducing a #columns_for_distinct method to return the select columns but not the statement itself.
* | Merge pull request #10553 from dasch/dasch/dont-try-to-explain-select_dbXavier Noria2013-05-102-1/+6
|\ \ | | | | | | Don't try to EXPLAIN select_db calls
| * | Don't try to EXPLAIN select_db callsDaniel Schierbeck2013-05-102-1/+6
|/ /
* | Merge pull request #10543 from vipulnsward/to_sortCarlos Antonio da Silva2013-05-101-1/+1
|\ \ | | | | | | Can you improve the commit message a little bit? It's good to describe why the change is happening.
| * | sort => sort! on new arrayVipul A M2013-05-101-1/+1
| | |
* | | Set the inverse when association queries are refinedJon Leighton2013-05-104-1/+33
| |/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Suppose Man has_many interests, and inverse_of is used. Man.first.interests.first.man will correctly execute two queries, avoiding the need for a third query when Interest#man is called. This is because CollectionAssociation#first calls set_inverse_instance. However Man.first.interests.where("1=1").first.man will execute three queries, even though this is obviously a subset of the records in the association. This is because calling where("1=1") spawns a new Relation object from the CollectionProxy object, and the Relation has no knowledge of the association, so it cannot set the inverse instance. This commit solves the problem by making relations spawned from CollectionProxies return a new Relation subclass called AssociationRelation, which does know about associations. Records loaded from this class will get the inverse instance set properly. Fixes #5717. Live commit from La Conf! :sparkles:
* | Merge pull request #10510 from think602/masterXavier Noria2013-05-091-0/+1
|\ \ | |/ |/| [ci skip] document protect_against_forgery? method
| * [ci skip] document protect_against_forgery? methodWeston Platter2013-05-101-0/+1
| |
* | Merge pull request #10535 from vipulnsward/remove_varCarlos Antonio da Silva2013-05-091-1/+0
|\ \ | | | | | | remove redundant var
| * | remove redundant varVipul A M2013-05-091-1/+0
| | |
* | | Merge pull request #10536 from vipulnsward/fix_exp_warningCarlos Antonio da Silva2013-05-091-1/+0
|\ \ \ | | | | | | | | remove variable and fix warning
| * | | remove variable and fix warningVipul A M2013-05-091-1/+0
| |/ /
* | | Merge pull request #10531 from waseem/refactor_requireCarlos Antonio da Silva2013-05-091-4/+4
|\ \ \ | | | | | | | | Require different core extensions correctly.
| * | | Require different core extensions correctly.Waseem Ahmad2013-05-091-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | The begin rescue block is specifically to catch LoadError while loading i18n gem. Other core extensions, under active support, should be required outside of the begin rescue block.