Module: FetcheableOnApi::Filtreable::ClassMethods

Defined in:
lib/fetcheable_on_api/filtreable.rb

Overview

Detects url parameters and applies the filter

Instance Method Summary collapse

Instance Method Details

#filter_by(*attrs) ⇒ Object



45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
# File 'lib/fetcheable_on_api/filtreable.rb', line 45

def filter_by(*attrs)
  options = attrs.extract_options!
  options.symbolize_keys!
  options.assert_valid_keys(:as, :class_name, :with, :format)

  self.filters_configuration = filters_configuration.dup

  attrs.each do |attr|
    filters_configuration[attr] ||= {
      as: options[:as] || attr
    }

    filters_configuration[attr].merge!(options)
  end
end