module Queryko::Able::ClassMethods

Public Instance Methods

default_param(sym, value) click to toggle source
# File lib/queryko/able.rb, line 28
def default_param(sym, value)
  self.default_params[sym] = value
end
feature(feature_name, filter, options = {}) click to toggle source
# File lib/queryko/able.rb, line 14
def feature(feature_name, filter, options = {})
  # returns the feature if it exists
  feat = self.features[feature_name.to_sym] ||= Queryko::Feature.new feature_name, self
  self.defined_filters[filter] ||= Array.new

  # creates a filter
  filt = feat.add_filter filter, options
  self.defined_filters[filter].push(filt)

  # appends new field
  self.fields[filt.field.to_sym] ||= Array.new
  self.fields[filt.field.to_sym].push(filt)
end
inherited(subclass) click to toggle source
# File lib/queryko/able.rb, line 32
def inherited(subclass)
  subclass.defined_filters = self.defined_filters.clone || {}
  subclass.features = self.features.clone || {}
  subclass.fields = self.fields.clone || {}
  subclass.default_params = self.default_params.clone || {}
end