Sha256: 4c6a744a89789bbc3a91b4a69ee5eece77c3757788d69f37270a0b4abd59bac8
Contents?: true
Size: 646 Bytes
Versions: 12
Compression:
Stored size: 646 Bytes
Contents
module JsonapiCompliable module Scoping::Filterable def find_filter(name) find_filter!(name) rescue JsonapiCompliable::Errors::BadFilter nil end def find_filter!(name) filter_name, filter_value = \ resource.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 resource.context[:object].send(guard) == false end { filter_name => filter_value } end def filter_param query_hash[:filter] end end end
Version data entries
12 entries across 12 versions & 1 rubygems