aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/lib/active_record/relation/query_methods.rb
diff options
context:
space:
mode:
authorSantiago Pastorino <santiago@wyeworks.com>2010-06-26 17:43:40 -0300
committerwycats <wycats@gmail.com>2010-06-26 17:09:40 -0700
commit64fee27a554151eb87b2350c3834bbf8812520c8 (patch)
treeaf7dd7eff97e2ceb3274e6f74e0f305bdcb4d7f8 /activerecord/lib/active_record/relation/query_methods.rb
parenta39f2657b1ae8d61c6018766f8d250b1401beace (diff)
downloadrails-64fee27a554151eb87b2350c3834bbf8812520c8.tar.gz
rails-64fee27a554151eb87b2350c3834bbf8812520c8.tar.bz2
rails-64fee27a554151eb87b2350c3834bbf8812520c8.zip
Removes useless flatten
Diffstat (limited to 'activerecord/lib/active_record/relation/query_methods.rb')
-rw-r--r--activerecord/lib/active_record/relation/query_methods.rb13
1 files changed, 9 insertions, 4 deletions
diff --git a/activerecord/lib/active_record/relation/query_methods.rb b/activerecord/lib/active_record/relation/query_methods.rb
index caa55929f4..201a4799a4 100644
--- a/activerecord/lib/active_record/relation/query_methods.rb
+++ b/activerecord/lib/active_record/relation/query_methods.rb
@@ -9,10 +9,9 @@ module ActiveRecord
(ActiveRecord::Relation::ASSOCIATION_METHODS + ActiveRecord::Relation::MULTI_VALUE_METHODS).each do |query_method|
attr_accessor :"#{query_method}_values"
- next if [:where, :having, :select].include?(query_method)
+ next if [:where, :having, :select, :joins].include?(query_method)
class_eval <<-CEVAL, __FILE__, __LINE__ + 1
def #{query_method}(*args)
- args.flatten!
args.reject! { |a| a.blank? }
new_relation = clone
new_relation.#{query_method}_values += args if args.present?
@@ -22,7 +21,6 @@ module ActiveRecord
end
def reorder(*args)
- args.flatten!
args.reject! { |a| a.blank? }
new_relation = clone
new_relation.order_values = args if args.present?
@@ -33,7 +31,6 @@ module ActiveRecord
if block_given?
to_a.select { |*block_args| yield(*block_args) }
else
- args.flatten!
args.reject! { |a| a.blank? }
new_relation = clone
new_relation.select_values += args if args.present?
@@ -41,6 +38,14 @@ module ActiveRecord
end
end
+ def joins(*args)
+ args.flatten!
+ args.reject! { |a| a.blank? }
+ new_relation = clone
+ new_relation.joins_values += args if args.present?
+ new_relation
+ end
+
[:where, :having].each do |query_method|
class_eval <<-CEVAL, __FILE__, __LINE__ + 1
def #{query_method}(*args)