aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/lib/active_record/calculations.rb
diff options
context:
space:
mode:
authorEmilio Tagua <miloops@gmail.com>2009-08-18 07:50:11 -0300
committerEmilio Tagua <miloops@gmail.com>2009-08-18 07:50:11 -0300
commit79e951ca9bc875da9e4a19adeff3634f0b5b7b76 (patch)
tree3b46a3061cea3bc6a1d7a72d9e6f5c793a56663b /activerecord/lib/active_record/calculations.rb
parentc923409630a92d1a935699c1427702c822601165 (diff)
downloadrails-79e951ca9bc875da9e4a19adeff3634f0b5b7b76.tar.gz
rails-79e951ca9bc875da9e4a19adeff3634f0b5b7b76.tar.bz2
rails-79e951ca9bc875da9e4a19adeff3634f0b5b7b76.zip
Use finder options as relation method names to provide more familiar
naming. Use bang methods convention in methods that alter the relation.
Diffstat (limited to 'activerecord/lib/active_record/calculations.rb')
-rw-r--r--activerecord/lib/active_record/calculations.rb18
1 files changed, 9 insertions, 9 deletions
diff --git a/activerecord/lib/active_record/calculations.rb b/activerecord/lib/active_record/calculations.rb
index 82a171c6ad..cd2fbe9b79 100644
--- a/activerecord/lib/active_record/calculations.rb
+++ b/activerecord/lib/active_record/calculations.rb
@@ -146,12 +146,12 @@ module ActiveRecord
join_dependency = ActiveRecord::Associations::ClassMethods::JoinDependency.new(self, merged_includes, construct_join(options[:joins], scope))
construct_finder_arel_with_included_associations(options, join_dependency)
else
- arel_table(options[:from]).
- join(construct_join(options[:joins], scope)).
- where(construct_conditions(options[:conditions], scope)).
- order(options[:order]).
- take(options[:limit]).
- skip(options[:offset])
+ relation = arel_table(options[:from]).
+ joins!(construct_join(options[:joins], scope)).
+ conditions!(construct_conditions(options[:conditions], scope)).
+ order!(options[:order]).
+ limit!(options[:limit]).
+ offset!(options[:offset])
end
if options[:group]
return execute_grouped_calculation(operation, column_name, options, relation)
@@ -171,7 +171,7 @@ module ActiveRecord
(column_name == :all ? "*" : column_name.to_s))
end
- relation.project(operation == 'count' ? column.count(options[:distinct]) : column.send(operation))
+ relation.select!(operation == 'count' ? column.count(options[:distinct]) : column.send(operation))
type_cast_calculated_value(connection.select_value(relation.to_sql), column_for(column_name), operation)
end
@@ -194,8 +194,8 @@ module ActiveRecord
options[:select] << ", #{group_field} AS #{group_alias}"
- relation.project(options[:select])
- relation.group(construct_group(options[:group], options[:having], nil))
+ relation.select!(options[:select])
+ relation.group!(construct_group(options[:group], options[:having], nil))
calculated_data = connection.select_all(relation.to_sql)