module Riveter::Query
Attributes
options[R]
query_filter[R]
relation[R]
Public Class Methods
new(query_filter, options={})
click to toggle source
# File lib/riveter/query.rb, line 9 def initialize(query_filter, options={}) @query_filter = query_filter @options = options @relation = build_relation(@query_filter) end
Public Instance Methods
find_each(&block)
click to toggle source
enumerates the resultset in batch mode
# File lib/riveter/query.rb, line 16 def find_each(&block) relation.find_each_with_order(&block) if has_data? end
has_data?()
click to toggle source
override if necessary in derived classes
# File lib/riveter/query.rb, line 21 def has_data? @has_data ||= relation.count() > 0 end
Protected Instance Methods
build_relation(filter)
click to toggle source
override in derived classes
# File lib/riveter/query.rb, line 28 def build_relation(filter) # # use the given filter to add conditions # to produce an ActiveRelation as the query # # E.g. filter.page #=> Model.all.page(filter.page) # raise NotImplementedError end