aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/lib/active_record/relation
Commit message (Collapse)AuthorAgeFilesLines
* Stop assuming strings for grouped calculationsErnie Miller2012-06-241-6/+17
| | | | | | | | | | | | | | | Execute_grouped_calculation is one of those places where ActiveRecord forgets that it has ARel underpinnings, and assumes that the values provided to group_values are strings. This artificially hobbles otherwise functional code. This patch stops assuming that incoming values respond to to_sym, stops using string interpolation for table aliases on objects that support aliasing, and stops unnecessarily joining group_values on the relation. Additionally, it calls to_sql, if available, on objects sent to column_alias_for, in order to get a more reasonable alias string than a non-string's default to_str method.
* Merge branch 'master' of github.com:lifo/docrailsVijay Dev2012-06-221-3/+15
|\
| * fixes a few mistakes in api docs [ci skip]Vijay Dev2012-06-221-4/+2
| |
| * Add documentation for ActiveRecord::QueryMethods#reverse_order [ci skip]Florent Guilleux2012-06-161-0/+3
| |
| * Add documentation for ActiveRecord::QueryMethods#offset [ci skip]Ulises Cabanillas2012-06-161-0/+7
| |
| * Add documentation for ActiveRecord::QueryMethods#limit [ci skip]Florent Guilleux2012-06-161-3/+7
| |
* | Add changelog entry and guide updates for pluck with multiple columnsCarlos Antonio da Silva2012-06-221-0/+1
| |
* | Refactor pluck with multiple columnsCarlos Antonio da Silva2012-06-221-26/+13
| | | | | | | | | | | | | | | | | | | | | | | | Ensure it works with mix of symbols and strings, and with a select clause possibly containing more than one column. Also remove support for pluck with an array of columns, in favor of passing the list of attributes: Model.pluck(:a, :b) See comments: https://github.com/rails/rails/pull/6500#issuecomment-6030292
* | ActiveRecord#pluck now accepts multiple columnsjeroeningen2012-06-221-15/+35
| |
* | disallow mutating a relation once loadedJon Leighton2012-06-221-18/+20
| |
* | Extract conditional to a method to avoid duplicationRafael Mendonça França2012-06-191-15/+19
| | | | | | | | Also use if/else block to not use short circuit return
* | handle joins/includes correctly for pluck and calculation.Andrey Deryabin2012-06-191-1/+6
| | | | | | | | Fix #5990
* | Removing composed_of from ActiveRecord.Steve Klabnik2012-06-181-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This feature adds a lot of complication to ActiveRecord for dubious value. Let's talk about what it does currently: class Customer < ActiveRecord::Base composed_of :balance, :class_name => "Money", :mapping => %w(balance amount) end Instead, you can do something like this: def balance @balance ||= Money.new(value, currency) end def balance=(balance) self[:value] = balance.value self[:currency] = balance.currency @balance = balance end Since that's fairly easy code to write, and doesn't need anything extra from the framework, if you use composed_of today, you'll have to add accessors/mutators like that. Closes #1436 Closes #2084 Closes #3807
* | Documentation for where and where! methods on relations.David Paschich2012-06-181-0/+92
|/ | | | Based on examples seen in the Rails test suite. [ci skip]
* Address ORA-00911 errors because of the heading underscore.Yasuo Honda2012-06-111-1/+1
|
* Fix that #exists? raises ThrowResult when called with an empty limitedBen Woosley2012-06-101-0/+2
| | | | | | | | | reflection. ActiveRecord::FinderMethods#construct_limited_ids_condition will raise ThrowResult if the limited reflection comes back empty. The other callers of #construct_limited_ids_condition handle this exception (more specifically, the callers of construct_relation_for*), but #exists? didn't until now.
* Add test to column alias in `exists?` SQL.Rafael Mendonça França2012-06-101-1/+1
| | | | | | | | This behavior was added in be4ecdcc87984e9421ff5d5c90d33f475e0fbc01. Closes #1139. Fixes #2553, #1141, #1623 and #2062.
* Minimal change to query generation of exists? that makes SQLServer and ↵iaddict2012-06-101-1/+1
| | | | | | | others happy that do not work without a column alias. Conflicts: activerecord/lib/active_record/relation/finder_methods.rb
* Fix #6635. We should call Scoping methods, before calling Array methods.kennyj2012-06-101-5/+5
|
* Remove conditional committed by accidentSantiago Pastorino2012-06-091-1/+1
|
* Use each_with_object instead of each hereSantiago Pastorino2012-06-091-1/+1
|
* modulize AR::NullRelationAkira Matsuda2012-06-011-1/+1
| | | | now we can invoke previously added scope extension methods
* Merge branch 'master-sec'Aaron Patterson2012-05-311-1/+1
|\ | | | | | | | | | | * master-sec: Strip [nil] from parameters hash. Thanks to Ben Murphy for reporting this! predicate builder should not recurse for determining where columns. Thanks to Ben Murphy for reporting this
| * predicate builder should not recurse for determining where columns.Aaron Patterson2012-05-301-1/+1
| | | | | | | | | | | | Thanks to Ben Murphy for reporting this CVE-2012-2661
* | Fix wrong example for count method with block [ci skip]Carlos Antonio da Silva2012-05-311-1/+1
| | | | | | | | Thanks @splattael.
* | Merge branch 'master' of github.com:lifo/docrailsVijay Dev2012-05-303-22/+32
|\ \
| * | copy edit the batches docs [ci skip]Vijay Dev2012-05-301-9/+7
| | |
| * | Adds to Batch processing documentation [ci skip]Alvaro Pereyra2012-05-281-9/+20
| | |
| * | fix typo and remove 'examples' noise [ci skip]Francesco Rodriguez2012-05-281-18/+6
| | |
| * | Updates examples for FinderMethods [ci skip]Alvaro Pereyra2012-05-281-2/+14
| | |
| * | Merge branch 'master' of github.com:lifo/docrailsAlvaro Pereyra2012-05-284-1/+9
| |\ \
| | * | "a sql" -> "an SQL" per API documentation guidelinesMark Rushakoff2012-05-271-1/+1
| | |/
| * | Adds examples to FinderMethods#first [ci skip]Alvaro Pereyra2012-05-281-0/+1
| | |
| * | Remove blank trailing commentsHenrik Hodne2012-05-204-8/+0
| |/ | | | | | | | | | | | | For future reference, this is the regex I used: ^\s*#\s*\n(?!\s*#). Replace with the first match, and voilà! Note that the regex matches a little bit too much, so you probably want to `git add -i .` and go through every single diff to check if it actually should be changed.
* | Yield only one argument instead of splatting.Carlos Antonio da Silva2012-05-281-2/+2
| | | | | | | | Add Changelog entry. Closes #4003
* | Allow blocks for count with ActiveRecord::Relation. Document and test that ↵chrisfinne2012-05-281-3/+14
|/ | | | sum allows blocks
* Relation#from to accept other Relation objectsRadoslav Stankov2012-05-172-6/+31
| | | | Record.from("(#{sub_query.to_sql})") -> Record.from(sub_query) Record.from("(#{sub_query.to_sql}) a") -> Record.from(sub_query, :a)
* assuming there is only one column, we can simplify the type cast loopAaron Patterson2012-05-161-7/+6
|
* MySQL returns "SUM(DISTINCT(credit_limit))" as the column name unlessAaron Patterson2012-05-161-4/+11
| | | | | an alias is provided. Without the alias, the column cannot be found and properly typecast.
* Fixes issue where SQL fragments prevented type casting based on column type.Erich Menge2012-05-161-8/+3
|
* Expand and improve #pluck docsJeremy Kemper2012-05-151-6/+27
|
* Restore support for Model.pluck('sql fragment')Jeremy Kemper2012-05-151-1/+2
|
* CollectionProxy < RelationJon Leighton2012-05-113-28/+33
| | | | | | | | | | | | | | | | | | | | | 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.
* Return false for exists? with new records - fixes #6199.Andrew White2012-05-101-2/+1
|
* Merge branch 'master' of github.com:lifo/docrailsVijay Dev2012-05-081-2/+2
|\
| * 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.
* | Use `take` instead of `first` to avoid unwanted implicit ordering (fixes #6147)Marcelo Silveira2012-05-051-4/+4
|/
* Merge branch 'master' of github.com:lifo/docrailsVijay Dev2012-05-041-1/+1
|\
| * Lowercase.Ben Pickles2012-05-011-1/+1
| |
* | clean up implementation of dynamic methods. use method compilation etc.Jon Leighton2012-05-041-41/+0
| |