Sha256: 1784c4aae8efe55ea8ba564e2f9001fc51b88560dd9e87e2ddbcf8c33cfcaf99
Contents?: true
Size: 1.09 KB
Versions: 87
Compression:
Stored size: 1.09 KB
Contents
module Graphiti # @api private module Scoping::Filterable # @api private def find_filter(name) find_filter!(name) rescue Graphiti::Errors::AttributeError nil end # @api private def find_filter!(name) resource.class.get_attr!(name, :filterable, request: true) {name => resource.filters[name]} end # @api private def filter_param query_hash[:filter] || {} end def missing_required_filters required_filters - filter_param.keys end def required_filters resource.filters.map { |k, v| k if v[:required] }.compact end def missing_dependent_filters [].tap do |arr| filter_param.each_pair do |key, value| if (df = dependent_filters[key]) missing = df[:dependencies] - filter_param.keys unless missing.length.zero? arr << {filter: df, missing: missing} end end end end end def dependent_filters resource.filters.select do |k, v| v[:dependencies].present? end end end end
Version data entries
87 entries across 87 versions & 1 rubygems