aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--activerecord/lib/active_record/relation/query_methods.rb41
1 files changed, 26 insertions, 15 deletions
diff --git a/activerecord/lib/active_record/relation/query_methods.rb b/activerecord/lib/active_record/relation/query_methods.rb
index a6a558bb6d..44d537c5cd 100644
--- a/activerecord/lib/active_record/relation/query_methods.rb
+++ b/activerecord/lib/active_record/relation/query_methods.rb
@@ -11,52 +11,63 @@ module ActiveRecord
def includes(*args)
args.reject! { |a| a.blank? }
- clone.tap {|r| r.includes_values = (r.includes_values + args).flatten.uniq if args.present? }
+ args.present? ? clone.tap {|r| r.includes_values = (r.includes_values + args).flatten.uniq } : clone
end
def eager_load(*args)
- clone.tap {|r| r.eager_load_values += args if args.present? }
+ args.present? ? clone.tap {|r| r.eager_load_values += args } : clone
end
def preload(*args)
- clone.tap {|r| r.preload_values += args if args.present? }
+ args.present? ? clone.tap {|r| r.preload_values += args } : clone
end
def select(*args)
if block_given?
to_a.select {|*block_args| yield(*block_args) }
else
- clone.tap {|r| r.select_values += args if args.present? }
+ args.present? ? clone.tap {|r| r.select_values += args } : clone
end
end
def group(*args)
- clone.tap {|r| r.group_values += args.flatten if args.present? }
+ args.present? ? clone.tap {|r| r.group_values += args.flatten } : clone
end
def order(*args)
- clone.tap {|r| r.order_values += args if args.present? }
+ args.present? ? clone.tap {|r| r.order_values += args } : clone
end
def reorder(*args)
- clone.tap {|r| r.order_values = args if args.present? }
+ args.present? ? clone.tap {|r| r.order_values = args } : clone
end
def joins(*args)
- args.flatten!
- clone.tap {|r| r.joins_values += args if args.present? }
+ if args.present?
+ args.flatten!
+ clone.tap {|r| r.joins_values += args }
+ else
+ clone
+ end
end
def where(opts, *rest)
- value = build_where(opts, rest)
- copy = clone
- copy.where_values += Array.wrap(value) if value
- copy
+ if opts.present? && value = build_where(opts, rest)
+ copy = clone
+ copy.where_values += Array.wrap(value)
+ copy
+ else
+ clone
+ end
end
def having(*args)
- value = build_where(*args)
- clone.tap {|r| r.having_values += Array.wrap(value) if value.present? }
+ if args.present?
+ value = build_where(*args)
+ clone.tap {|r| r.having_values += Array.wrap(value) }
+ else
+ clone
+ end
end
def limit(value)