class Filterparams::Query

Attributes

filters[RW]
orders[RW]

Public Class Methods

new() click to toggle source
# File lib/filterparams/obj/query.rb, line 8
def initialize
  self.filters = nil
  self.orders = []
end

Public Instance Methods

add_order(name, descending = false) click to toggle source
# File lib/filterparams/obj/query.rb, line 20
def add_order(name, descending = false)
  add_order_obj Filterparams::Order.new(name, descending)
end
add_order_obj(*order_obj) click to toggle source
# File lib/filterparams/obj/query.rb, line 24
def add_order_obj(*order_obj)
  query = clone
  query.orders.push(*order_obj)
  query
end
clone() click to toggle source
# File lib/filterparams/obj/query.rb, line 13
def clone
  query = Filterparams::Query.new
  query.filters = filters
  query.orders.push(*orders)
  query
end
filter(filter_obj) click to toggle source
# File lib/filterparams/obj/query.rb, line 30
def filter(filter_obj)
  query = clone
  query.filters = if query.filters.nil?
                    filter_obj
                  else
                    Filterparams::And.new(query.filters, filter_obj)
                  end
  query
end