# -*- encoding : utf-8 -*- module RademadeAdmin module Search module QueryAdapter class Abstract def initialize(model) @model = model end def apply_conditions(search_conditions) @params = search_conditions.params @result = search_conditions.base_condition(@model) search_conditions.conditions.each do |query_part, values| @result = self.send(query_part, values) unless values.nil? end @result end protected def where(where_conditions) @result end def order(order_conditions) @result end def page(page_condition) @result.page(page_condition) end def per_page(per_page_condition) @result.per(per_page_condition) end def limit(limit_condition) @result.limit(limit_condition) end end end end end