Class: JsonapiCompliable::Scope::Filter
- Includes:
- Filterable
- Defined in:
- lib/jsonapi_compliable/scope/filter.rb
Instance Attribute Summary
Attributes inherited from Base
#controller, #dsl, #params, #scope
Instance Method Summary collapse
Methods included from Filterable
#filter_param, #find_filter, #find_filter!
Methods inherited from Base
#apply_custom_scope, #apply_standard_or_override, #apply_standard_scope, #apply_standard_scope?, #initialize
Constructor Details
This class inherits a constructor from JsonapiCompliable::Scope::Base
Instance Method Details
#apply ⇒ Object
5 6 7 8 9 10 11 |
# File 'lib/jsonapi_compliable/scope/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/scope/filter.rb', line 13 def filter_scope(filter, value) if custom_scope = filter.values.first[:filter] custom_scope.call(@scope, value) else @scope.where(filter.keys.first => value) end end |