Sha256: 4cf88bdaf2ad91d143a7002fac50a417e15efff4ce1edffd0ac915da7778107e
Contents?: true
Size: 1.1 KB
Versions: 61
Compression:
Stored size: 1.1 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 do |k, v| k if v[:required] end.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
61 entries across 61 versions & 1 rubygems