aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/lib/active_record/relation
diff options
context:
space:
mode:
Diffstat (limited to 'activerecord/lib/active_record/relation')
-rw-r--r--activerecord/lib/active_record/relation/query_methods.rb8
1 files changed, 8 insertions, 0 deletions
diff --git a/activerecord/lib/active_record/relation/query_methods.rb b/activerecord/lib/active_record/relation/query_methods.rb
index 4dbb30c777..f7c4c7991b 100644
--- a/activerecord/lib/active_record/relation/query_methods.rb
+++ b/activerecord/lib/active_record/relation/query_methods.rb
@@ -21,6 +21,14 @@ module ActiveRecord
CEVAL
end
+ def reorder(*args, &block)
+ new_relation = clone
+ new_relation.send(:apply_modules, Module.new(&block)) if block_given?
+ value = Array.wrap(args.flatten).reject {|x| x.blank? }
+ new_relation.order_values = value if value.present?
+ new_relation
+ end
+
def select(*args)
if block_given?
to_a.select { |*block_args| yield(*block_args) }