module Graphiti::Scoping::Filterable
@api private
Public Instance Methods
dependent_filters()
click to toggle source
# File lib/graphiti/scoping/filterable.rb, line 45 def dependent_filters resource.filters.select do |k, v| v[:dependencies].present? end end
filter_param()
click to toggle source
@api private
# File lib/graphiti/scoping/filterable.rb, line 18 def filter_param query_hash[:filter] || {} end
find_filter(name)
click to toggle source
@api private
# File lib/graphiti/scoping/filterable.rb, line 5 def find_filter(name) find_filter!(name) rescue Graphiti::Errors::AttributeError nil end
find_filter!(name)
click to toggle source
@api private
# File lib/graphiti/scoping/filterable.rb, line 12 def find_filter!(name) resource.class.get_attr!(name, :filterable, request: true) {name => resource.filters[name]} end
missing_dependent_filters()
click to toggle source
# File lib/graphiti/scoping/filterable.rb, line 32 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
missing_required_filters()
click to toggle source
# File lib/graphiti/scoping/filterable.rb, line 22 def missing_required_filters required_filters - filter_param.keys end
required_filters()
click to toggle source
# File lib/graphiti/scoping/filterable.rb, line 26 def required_filters resource.filters.map { |k, v| k if v[:required] }.compact end