Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

Removes useless flatten

  • Loading branch information...
commit 64fee27a554151eb87b2350c3834bbf8812520c8 1 parent a39f265
@spastorino spastorino authored wycats committed
Showing with 9 additions and 4 deletions.
  1. +9 −4 activerecord/lib/active_record/relation/query_methods.rb
View
13 activerecord/lib/active_record/relation/query_methods.rb
@@ -9,10 +9,9 @@ module QueryMethods
(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 @@ def #{query_method}(*args)
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 @@ def select(*args)
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 @@ def select(*args)
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)
Please sign in to comment.
Something went wrong with that request. Please try again.