class Cuprum::Rails::Query
Interface for performing query operations on a Rails
collection.
Attributes
native_query[R]
record_class[R]
@return [Class] the class of the collection items.
Public Class Methods
new(record_class, native_query: nil)
click to toggle source
@param record_class
[Class] The class of the collection items. Must be a
subclass of ActiveRecord::Base.
@param native_query
[ActiveRecord::Relation] A relation used to scope the
query.
Calls superclass method
# File lib/cuprum/rails/query.rb, line 23 def initialize(record_class, native_query: nil) super() default_order = { record_class.primary_key => :asc } @native_query = native_query || record_class.all.order(default_order) @record_class = record_class @limit = nil @offset = nil @order = default_order end
Protected Instance Methods
query_builder()
click to toggle source
# File lib/cuprum/rails/query.rb, line 39 def query_builder Cuprum::Rails::QueryBuilder.new(self) end
reset!()
click to toggle source
# File lib/cuprum/rails/query.rb, line 43 def reset! @native_query.reset self end
with_limit(count)
click to toggle source
Calls superclass method
# File lib/cuprum/rails/query.rb, line 49 def with_limit(count) @native_query = @native_query.limit(count) super end
with_native_query(native_query)
click to toggle source
# File lib/cuprum/rails/query.rb, line 55 def with_native_query(native_query) @native_query = native_query self end
with_offset(count)
click to toggle source
Calls superclass method
# File lib/cuprum/rails/query.rb, line 61 def with_offset(count) @native_query = @native_query.offset(count) super end
with_order(order)
click to toggle source
Calls superclass method
# File lib/cuprum/rails/query.rb, line 67 def with_order(order) @native_query = @native_query.reorder(order) super end