module Filterer::ActiveRecord

Public Instance Methods

chain(params = {}, opts = {}) click to toggle source
# File lib/filterer/active_record.rb, line 10
def chain(params = {}, opts = {})
  delegate_to_filterer(:chain, params, opts)
end
delegate_to_filterer(method, params, opts) click to toggle source
# File lib/filterer/active_record.rb, line 16
def delegate_to_filterer(method, params, opts)
  filterer_class(opts[:filterer_class]).
    send(method, params, { starting_query: all }.merge(opts))
end
filter(params = {}, opts = {}) click to toggle source
# File lib/filterer/active_record.rb, line 6
def filter(params = {}, opts = {})
  delegate_to_filterer(:filter, params, opts)
end
filterer_class(override) click to toggle source
# File lib/filterer/active_record.rb, line 21
def filterer_class(override)
  if override
    override.constantize
  else
    const_get("#{name}Filterer")
  end
rescue
  fail "Looked for #{name}Filterer and couldn't find one!"
end