module NoBrainer::Criteria::First
Public Instance Methods
first()
click to toggle source
# File lib/no_brainer/criteria/first.rb, line 4 def first get_one(self) end
first!()
click to toggle source
# File lib/no_brainer/criteria/first.rb, line 12 def first! first || (raise NoBrainer::Error::DocumentNotFound) end
last()
click to toggle source
# File lib/no_brainer/criteria/first.rb, line 8 def last get_one(self.reverse_order) end
last!()
click to toggle source
# File lib/no_brainer/criteria/first.rb, line 16 def last! last || (raise NoBrainer::Error::DocumentNotFound) end
sample(n=nil)
click to toggle source
# File lib/no_brainer/criteria/first.rb, line 20 def sample(n=nil) result = run { self.without_ordering.to_rql.sample(n.nil? ? 1 : n) } result = result.map(&method(:instantiate_doc)) n.nil? ? result.first : result end
Private Instance Methods
get_one(criteria)
click to toggle source
# File lib/no_brainer/criteria/first.rb, line 28 def get_one(criteria) instantiate_doc(criteria.limit(1).__send__(:run).first) end