Sha256: 0ba771417befc51f0315c827c24c1db29173144996c53a0f7b6900976d965654
Contents?: true
Size: 495 Bytes
Versions: 1
Compression:
Stored size: 495 Bytes
Contents
require "active_sample/version" require "active_record" module ActiveSample class NegativeSampleError < ArgumentError end def sample(n = 1) if n < 0 raise NegativeSampleError.new("negative sample number".freeze) end return nil if count == 0 if n > count where(id: ids.shuffle) elsif n > 1 where(id: ids.sample(n)) elsif n == 0 where(id: []) else find ids.sample end end end ActiveRecord::Base.send :extend, ActiveSample
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
active_sample-1.0.0 | lib/active_sample.rb |