Daniel Doubrovkine bio photo

Daniel Doubrovkine

aka dB., CTO at artsy.net, fun at playplay.io, NYC

Email Twitter LinkedIn Github
module Mongoid
class Criteria
def sample(n = 1)
indexes = (0..self.count-1).sort_by{ rand }.slice(0,n).collect!
if n == 1
return self.skip(indexes.first).first
else
return indexes.map{ |index| self.skip(index).first }
end
end
end
end

https://gist.github.com/3113975

Can we do better?