Module: MongoidExt::Random::ClassMethods
- Defined in:
- lib/mongoid_ext/random.rb
Instance Method Summary collapse
Instance Method Details
#random(conditions = {}) ⇒ Object
14 15 16 17 18 19 20 |
# File 'lib/mongoid_ext/random.rb', line 14 def random(conditions = {}) r = rand() doc = self.where(conditions.merge(:_random.gte => r)).order_by(:_random_times.asc, :_random.asc).first || self.where(conditions.merge(:_random.lte => r)).order_by(:_random_times.asc, :_random.asc).first doc.inc(:_random_times, 1.0) if doc doc end |