Module: CastAboutFor::Base::ClassMethods

Includes:
Search
Defined in:
lib/cast_about_for/base.rb

Constant Summary collapse

CAST_ABOUT_FOR_KEY =
[:equal, :like, :enum, :joins, :includes, :after, :before, :comparison]

Instance Method Summary collapse

Methods included from Search

#cast_about_for

Instance Method Details

#cast_about_for_params(*args) ⇒ Object



10
11
12
13
14
15
16
17
18
19
20
21
22
23
# File 'lib/cast_about_for/base.rb', line 10

def cast_about_for_params *args

  options = args.extract_options!.dup

  options.each_key do |key|
    raise ArgumentError, "Unknown cast_about_for key: '#{key}" unless CAST_ABOUT_FOR_KEY.include?(key)
  end

  validate_keys = options.slice(*CAST_ABOUT_FOR_KEY.first(5))

  ValidateMacro.validate(self, validate_keys)

  class_variable_set(:@@cast_about_for_params, options)
end