rahult/random_record

View on GitHub
lib/random_record.rb

Summary

Maintainability
A
25 mins
Test Coverage
require 'active_record' unless defined? ActiveRecord::Base

module ActiveRecord

  module RandomRecord

    def random(count=1)
      return (count == 1) ? nil : [] if self.count == 0
      count == 1 ? offset(rand(self.count)).first : all.sort_by { rand }.sort_by { rand }.slice(0...count)
    end

  end

end

ActiveRecord::Base.send :extend, ActiveRecord::RandomRecord