ActiveRecordSamplerPlatter
Adds Array-style :sample methods to ActiveRecord objects
Installation
Add this line to your application's Gemfile:
gem 'active_record_sampler_platter'
And then execute:
$ bundle
Or install it yourself as:
$ gem install active_record_sampler_platter
Usage
# Equivalent to Array#Sample but usable on
# ActiveRecord models and relations!
#
# Returns a result with two quick queries:
#
# > Spree::Product.sample
# (4.9ms) SELECT COUNT(*) FROM "spree_products"
# (3.8ms) SELECT "spree_products".* FROM
# "spree_products" LIMIT 1 OFFSET 4132
#
# => #<Spree::Product id: 414, name: "...
#
def sample
self.offset(rand(self.count)).first
end
Contributing
- Fork it
- Create your feature branch (
git checkout -b my-new-feature) - Commit your changes (
git commit -am 'Add some feature') - Push to the branch (
git push origin my-new-feature) - Create new Pull Request