class Graphiti::Scoping::FilterGroupValidator
Constants
- VALID_REQUIRED_VALUES
Attributes
Public Class Methods
Source
# File lib/graphiti/scoping/filter_group_validator.rb, line 16 def initialize(resource, query_hash) @resource = resource @query_hash = query_hash end
Source
# File lib/graphiti/scoping/filter_group_validator.rb, line 5 def self.raise_unless_filter_group_requirement_valid!(resource, requirement) unless VALID_REQUIRED_VALUES.include?(requirement) raise Errors::FilterGroupInvalidRequirement.new( resource, VALID_REQUIRED_VALUES ) end true end
Public Instance Methods
Source
# File lib/graphiti/scoping/filter_group_validator.rb, line 21 def raise_unless_filter_group_requirements_met! return if grouped_filters.empty? case filter_group_requirement when :all raise_unless_all_requirements_met! when :any raise_unless_any_requirements_met! end true end
Private Instance Methods
Source
# File lib/graphiti/scoping/filter_group_validator.rb, line 74 def filter_group_filter_param query_hash.fetch(:filter, {}) end
Source
# File lib/graphiti/scoping/filter_group_validator.rb, line 62 def filter_group_names grouped_filters.fetch(:names, []) end
Source
# File lib/graphiti/scoping/filter_group_validator.rb, line 66 def filter_group_requirement grouped_filters.fetch(:required, :invalid) end
Source
# File lib/graphiti/scoping/filter_group_validator.rb, line 70 def grouped_filters resource.grouped_filters end
Source
# File lib/graphiti/scoping/filter_group_validator.rb, line 38 def raise_unless_all_requirements_met! met = filter_group_names.all? { |filter_name| filter_group_filter_param.key?(filter_name) } unless met raise Errors::FilterGroupMissingRequiredFilters.new( resource, filter_group_names, filter_group_requirement ) end end
Source
# File lib/graphiti/scoping/filter_group_validator.rb, line 50 def raise_unless_any_requirements_met! met = filter_group_names.any? { |filter_name| filter_group_filter_param.key?(filter_name) } unless met raise Errors::FilterGroupMissingRequiredFilters.new( resource, filter_group_names, filter_group_requirement ) end end