class GraphqlDevise::MountMethod::OptionSanitizers::ClassChecker
Public Class Methods
new(klass)
click to toggle source
# File lib/graphql_devise/mount_method/option_sanitizers/class_checker.rb, line 7 def initialize(klass) @klass_array = Array(klass) end
Public Instance Methods
call!(value, key)
click to toggle source
# File lib/graphql_devise/mount_method/option_sanitizers/class_checker.rb, line 11 def call!(value, key) return if value.nil? unless value.instance_of?(Class) raise GraphqlDevise::InvalidMountOptionsError, "`#{key}` option has an invalid value. Class expected." end unless @klass_array.any? { |klass| value.ancestors.include?(klass) } raise GraphqlDevise::InvalidMountOptionsError, "`#{key}` option has an invalid value. #{@klass_array.join(', ')} or descendants expected. Got #{value}." end value end