Sha256: 4ec51135ebc3902e19cd4d5f333d5bd0766cf541e61786824d26d6af1c107ad0
Contents?: true
Size: 1.39 KB
Versions: 16
Compression:
Stored size: 1.39 KB
Contents
module Graphiti::ActiveGraph module Scoping module Filter include Filterable def each_filter filter_param.each_pair do |param_name, param_value| filter = find_filter!(param_name) normalize_param(filter, param_value).each do |operator, value| operator = operator.to_s.gsub("!", "not_").to_sym # dynamic filters errors for validating and typecasting value below # so they are skipped here without validation or typecast filter_map = filter.values[0] if filter_map[:dynamic_filter] yield filter, operator, value next end validate_operator(filter, operator) type = ::Graphiti::Types[filter_map[:type]] unless type[:canonical_name] == :hash || !value.is_a?(String) value = parse_string_value(filter_map, value) end check_deny_empty_filters!(resource, filter, value) value = parse_string_null(filter_map, value) validate_singular(resource, filter, value) value = coerce_types(filter_map, param_name.to_sym, value) validate_allowlist(resource, filter, value) validate_denylist(resource, filter, value) value = value[0] if filter_map[:single] yield filter, operator, value end end end end end end
Version data entries
16 entries across 16 versions & 1 rubygems