Class: JsonapiCompliable::Scoping::Filter
- Includes:
- Filterable
- Defined in:
- lib/jsonapi_compliable/scoping/filter.rb
Instance Attribute Summary
Attributes inherited from Base
Instance Method Summary collapse
Methods included from Filterable
#filter_param, #find_filter, #find_filter!
Methods inherited from Base
#apply?, #apply_custom_scope, #apply_standard_or_override, #apply_standard_scope, #apply_standard_scope?, #initialize
Constructor Details
This class inherits a constructor from JsonapiCompliable::Scoping::Base
Instance Method Details
#apply ⇒ Object
5 6 7 8 9 10 11 |
# File 'lib/jsonapi_compliable/scoping/filter.rb', line 5 def apply each_filter do |filter, value| @scope = filter_scope(filter, value) end @scope end |
#filter_scope(filter, value) ⇒ Object
13 14 15 16 17 18 19 |
# File 'lib/jsonapi_compliable/scoping/filter.rb', line 13 def filter_scope(filter, value) if custom_scope = filter.values.first[:filter] custom_scope.call(@scope, value) else resource.adapter.filter(@scope, filter.keys.first, value) end end |