Module: JsonapiCompliable::Scope::Filterable
- Included in:
- DefaultFilter, Filter
- Defined in:
- lib/jsonapi_compliable/scope/filterable.rb
Instance Method Summary collapse
Instance Method Details
#filter_param ⇒ Object
19 20 21 |
# File 'lib/jsonapi_compliable/scope/filterable.rb', line 19 def filter_param params[:filter] || {} end |
#find_filter(name) ⇒ Object
3 4 5 6 7 |
# File 'lib/jsonapi_compliable/scope/filterable.rb', line 3 def find_filter(name) find_filter!(name) rescue JsonapiCompliable::Errors::BadFilter nil end |
#find_filter!(name) ⇒ Object
9 10 11 12 13 14 15 16 17 |
# File 'lib/jsonapi_compliable/scope/filterable.rb', line 9 def find_filter!(name) filter_name, filter_value = \ dsl.filters.find { |_name, opts| opts[:aliases].include?(name.to_sym) } raise JsonapiCompliable::Errors::BadFilter unless filter_name if guard = filter_value[:if] raise JsonapiCompliable::Errors::BadFilter if controller.send(guard) == false end { filter_name => filter_value } end |