790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
|
# File 'lib/jsonapi/resource.rb', line 790
def verify_filter(filter, raw, context = nil)
filter_values = []
if raw.present?
filter_values += raw.is_a?(String) ? CSV.parse_line(raw) : [raw]
end
strategy = _allowed_filters.fetch(filter, Hash.new)[:verify]
if strategy
if strategy.is_a?(Symbol) || strategy.is_a?(String)
values = send(strategy, filter_values, context)
else
values = strategy.call(filter_values, context)
end
[filter, values]
else
if is_filter_relationship?(filter)
verify_relationship_filter(filter, filter_values, context)
else
verify_custom_filter(filter, filter_values, context)
end
end
end
|