class MR::Query
Attributes
model_class[R]
relation[R]
Public Class Methods
new(model_class, relation)
click to toggle source
# File lib/mr/query.rb, line 9 def initialize(model_class, relation) @model_class = model_class @relation = relation end
Public Instance Methods
count()
click to toggle source
# File lib/mr/query.rb, line 32 def count @count ||= self.count! end
count!()
click to toggle source
# File lib/mr/query.rb, line 36 def count! @count = count_relation.count end
first()
click to toggle source
# File lib/mr/query.rb, line 22 def first @first ||= self.first! end
first!()
click to toggle source
# File lib/mr/query.rb, line 26 def first! @first = if (record = self.relation.first) self.model_class.new(record) end end
paged(page_num = nil, page_size = nil)
click to toggle source
# File lib/mr/query.rb, line 40 def paged(page_num = nil, page_size = nil) PagedQuery.new(self, page_num, page_size) end
results()
click to toggle source
# File lib/mr/query.rb, line 14 def results @results ||= self.results! end
results!()
click to toggle source
# File lib/mr/query.rb, line 18 def results! @results = self.relation.all.map{ |record| self.model_class.new(record) } end
Private Instance Methods
count_relation()
click to toggle source
# File lib/mr/query.rb, line 46 def count_relation @count_relation ||= CountRelation.new(self.relation) end