Sha256: 97d19b4f63d7fe40ad316a637102f9dcbc53c1ae89df7d157f7ba34f8087e398
Contents?: true
Size: 728 Bytes
Versions: 18
Compression:
Stored size: 728 Bytes
Contents
# frozen_string_literal: true module GraphqlDevise module MountMethod module OptionSanitizers class HashChecker def initialize(element_type_array) @element_type_array = Array(element_type_array) @default_value = {} end def call!(value, key) return @default_value if value.blank? unless value.instance_of?(Hash) raise GraphqlDevise::InvalidMountOptionsError, "`#{key}` option has an invalid value. Hash expected. Got #{value.class}." end value.each { |internal_key, klass| ClassChecker.new(@element_type_array).call!(klass, "#{key} -> #{internal_key}") } value end end end end end
Version data entries
18 entries across 18 versions & 1 rubygems