Module: FilterFu::ActiveRecord::ClassMethods

Defined in:
lib/filter_fu/active_record.rb

Constant Summary collapse

VALID_FILTER_OPTIONS =
[:only, :except]

Instance Method Summary collapse

Instance Method Details

#filter_fu(opts = {}) ⇒ Object



9
10
11
12
13
14
15
16
17
18
19
20
# File 'lib/filter_fu/active_record.rb', line 9

def filter_fu(opts = {})
  opts = opts.symbolize_keys!
  opts.each_key { |option| raise "Invalid filter_fu option: #{option}" unless VALID_FILTER_OPTIONS.include?(option) }
  raise "Use either :only or :except as a filter_fu option." if opts.has_key?(:only) && opts.has_key?(:except)

  opts[:only]   = [opts[:only]].flatten.collect(&:to_sym) if opts[:only]
  opts[:except] = [opts[:except]].flatten.collect(&:to_sym) if opts[:except]

  @filter_options = opts

  extend SingletonMethods
end