Created — forked from willnet/random_order.rb

Embed URL

HTTPS clone URL

SSH clone URL

You can clone with HTTPS or SSH.

Download Gist

monkey patch to add random_order to ActiveRecord with multi DB driver

View random_order.rb
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
# for rails 3 or higher
 
module ActiveRecord
module Querying
delegate :random_order, :to => :scoped
end
 
module QueryMethods
def random_order
relation = clone
name = connection.adapter_name
case name
when 'SQLite', 'PostgreSQL'
relation.order_values += ['random()']
when /Mysql/
relation.order_values += ['rand()']
else
raise "random_order doesn't support this adapter"
end
relation
end
end
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Something went wrong with that request. Please try again.