aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/lib/active_record/relation/spawn_methods.rb
Commit message (Collapse)AuthorAgeFilesLines
* refatctoring of some code repetition in spawn_methodsAngelo capilleri2012-12-311-8/+10
|
* remove unneeded Examples tag [ci skip]Carlos Duclos2012-12-011-10/+0
|
* Mark Relation mutators as :nodoc:Jon Leighton2012-11-301-2/+1
| | | | | These are for internal use only and cannot be relied on as part of the public API. See discussion on 8c2c60511beaad05a218e73c4918ab89fb1804f0.
* 1.9 Syntax related changesAvnerCohen2012-11-101-2/+2
|
* Allow Relation#merge to take a proc.Jon Leighton2012-08-031-2/+13
| | | | | | | | | | | | | | | | | | This was requested by DHH to allow creating of one's own custom association macros. For example: module Commentable def has_many_comments(extra) has_many :comments, -> { where(:foo).merge(extra) } end end class Post < ActiveRecord::Base extend Commentable has_many_comments -> { where(:bar) } end
* load active_support/core_ext/object/blank in active_support/railsXavier Noria2012-08-021-1/+0
|
* Add nodocs to delegation module and docs for merge!Oscar Del Ben2012-07-171-0/+1
|
* CollectionProxy < RelationJon Leighton2012-05-111-4/+9
| | | | | | | | | | | | | | | | | | | | | This helps bring the interfaces of CollectionProxy and Relation closer together, and reduces the delegation backflips we need to perform. For example, first_or_create is defined thus: class ActiveRecord::Relation def first_or_create(...) first || create(...) end end If CollectionProxy < Relation, then post.comments.first_or_create will hit the association's #create method which will actually add the new record to the association, just as post.comments.create would. With the previous delegation, post.comments.first_or_create expands to post.comments.scoped.first_or_create, where post.comments.scoped has no knowledge of the association.
* SpawnMethods#merge returns the intersection when passed an array, and not ↵Mitch Crowe2012-05-051-2/+2
| | | | the union. Update the documentation to reflect this.
* fix interpolation for hash mergingJon Leighton2012-04-251-5/+2
|
* Add documentation to the SpawnMethods#merge method.Mitch Crowe2012-04-171-0/+14
|
* now we can just manipulate the values hash in #only and #exceptJon Leighton2012-04-131-22/+4
|
* Make Relation#extending work like other value methodsJon Leighton2012-04-131-4/+2
|
* Add Relation#merge!Jon Leighton2012-04-131-9/+12
|
* Allow Relation#merge to take a hashJon Leighton2012-04-131-2/+5
|
* we have no need for the ASSOCIATION_METHODS constantJon Leighton2012-04-131-2/+2
|
* Extract clusterfuck method for surgeryJon Leighton2012-04-131-71/+8
|
* move apply_finder_options to active_record_deprecated_findersJon Leighton2012-04-121-22/+0
|
* use bind values for join columnsAaron Patterson2012-02-271-1/+4
|
* use regular ruby for fewer method calls. we do not need :gift:s!Aaron Patterson2012-02-241-1/+4
|
* Deprecate inferred JOINs with includes + SQL snippets.Jon Leighton2012-01-161-2/+2
| | | | | | See the CHANGELOG for details. Fixes #950.
* Revert "Deprecate implicit eager loading. Closes #950."Jon Leighton2012-01-161-2/+2
| | | | This reverts commit c99d507fccca2e9e4d12e49b4387e007c5481ae9.
* correctly handle order calls after a reorderMatt Jones + Scott Walker2012-01-031-2/+11
|
* Deprecate implicit eager loading. Closes #950.Jon Leighton2011-12-291-2/+2
|
* default create_with_value to a hash so we can eliminate conditionals, add ↵Aaron Patterson2011-06-271-1/+1
| | | | test surrounding create_with(nil) behavior
* Evaluate default scopes at the last possible moment in order to avoid ↵Jon Leighton2011-04-121-0/+4
| | | | problems with default scopes getting included into other scopes and then being unable to remove the default part via unscoped.
* Reapply extensions when using except and onlyIain Hecker2011-03-211-0/+6
|
* Remove Relation#& alias for Relation#mergeErnie Miller2011-02-121-2/+0
|
* Merge branch 'master' of git://github.com/lifo/docrailsXavier Noria2011-01-201-0/+14
|\
| * document ActiveRecord's except and onlyJordi Romero2011-01-151-0/+14
| | | | | | | | Document methods that allow easily override arel queries
* | Make Relation#create_with always merge rather than overwrite, not just when ↵Jon Leighton2011-01-031-3/+1
| | | | | | | | merging two relations. If you wish to overwrite, you can do relation.create_with(nil), or for a specific attribute, relation.create_with(:attr => nil).
* | Let AssociationCollection#find use #scoped to do its finding. Note that I am ↵Jon Leighton2011-01-031-1/+1
| | | | | | | | removing test_polymorphic_has_many_going_through_join_model_with_disabled_include, since this specifies different behaviour for an association than for a regular scope. It seems reasonable to expect scopes and association proxies to behave in roughly the same way rather than having subtle differences.
* | Specify the STI type condition using SQL IN rather than a whole load of ORs. ↵Jon Leighton2010-12-311-1/+5
|/ | | | Required a fix to ActiveRecord::Relation#merge for properly merging create_with_value. This also fixes a situation where the type condition was appearing twice in the resultant SQL query.
* making relationship merge cheaperAaron Patterson2010-11-301-3/+4
|
* only returning where values for the corresponding relation, also filtering ↵Aaron Patterson2010-10-301-4/+5
| | | | where value hash based on table name [#5234 state:resolved] [#5184 state:resolved]
* no need to merge where values if no new where values have been addedAaron Patterson2010-10-301-11/+13
|
* reduce duplicate where removal to one loopAaron Patterson2010-10-201-15/+13
|
* swap out some n^2 for some nAaron Patterson2010-10-191-7/+13
|
* dup rather than create so many arraysAaron Patterson2010-10-191-2/+2
|
* use array math rather than looping through the arrayAaron Patterson2010-10-191-1/+1
|
* reorder removed in favor of except(:order).orderSantiago Pastorino2010-10-111-10/+1
|
* intersection between a relation and an array works in both directionsMarcelo Giorgi2010-09-101-0/+1
| | | | Signed-off-by: Mikel Lindsaar <raasdnil@gmail.com>
* Refactor finder conditions look up and assigment for apply_finder_conditions.Emilio Tagua2010-09-091-13/+7
|
* Refactor Relation#only. No need to go through every option and test it.Emilio Tagua2010-09-091-8/+6
|
* No need to go through every option and test it, just don't add skipped ones.Emilio Tagua2010-09-091-4/+4
|
* Make scoped reorder override previous applied ordersSantiago Pastorino2010-09-051-1/+10
| | | | [5528 state:committed]
* order should always be concatenated.Neeraj Singh2010-09-051-2/+1
| | | | | | | | | | | | | | | | | | | | | | order that is declared first has highest priority in all cases. Here are some examples. Car.order('name desc').find(:first, :order => 'id').name Car.named_scope_with_order.named_scope_with_another_order Car.order('id DESC').scoping do Car.find(:first, :order => 'id asc') end No special treatment to with_scope or scoping. Also note that if default_scope declares an order then the order declared in default_scope has the highest priority unless with_exclusive_scope is used. Signed-off-by: Santiago Pastorino <santiago@wyeworks.com>
* Change relation merging to always append select, group and order valuesPratik Naik2010-08-311-7/+10
|
* PERF: Avoid two method callsSantiago Pastorino2010-08-281-1/+1
|
* Deletes trailing whitespaces (over text files only find * -type f -exec sed ↵Santiago Pastorino2010-08-141-1/+1
| | | | 's/[ \t]*$//' -i {} \;)