Sha256: 6a2d4aeb583be8126b682a59656fb02273be6452b67bee328c7b9c588a1264ff

Contents?: true

Size: 773 Bytes

Versions: 18

Compression:

Stored size: 773 Bytes

Contents

# frozen_string_literal: true

module GraphqlDevise
  module MountMethod
    module OptionSanitizers
      class ArrayChecker
        def initialize(element_type)
          @element_type  = element_type
          @default_value = []
        end

        def call!(value, key)
          return @default_value if value.blank?

          unless value.instance_of?(Array)
            raise GraphqlDevise::InvalidMountOptionsError, "`#{key}` option has an invalid value. Array expected."
          end

          unless value.all? { |element| element.instance_of?(@element_type) }
            raise GraphqlDevise::InvalidMountOptionsError, "`#{key}` option has invalid elements. #{@element_type} expected."
          end

          value
        end
      end
    end
  end
end

Version data entries

18 entries across 18 versions & 1 rubygems

Version Path
graphql_devise-0.18.2 lib/graphql_devise/mount_method/option_sanitizers/array_checker.rb
graphql_devise-0.18.1 lib/graphql_devise/mount_method/option_sanitizers/array_checker.rb
graphql_devise-0.18.0 lib/graphql_devise/mount_method/option_sanitizers/array_checker.rb
graphql_devise-0.17.1 lib/graphql_devise/mount_method/option_sanitizers/array_checker.rb
graphql_devise-0.17.0 lib/graphql_devise/mount_method/option_sanitizers/array_checker.rb
graphql_devise-0.16.0 lib/graphql_devise/mount_method/option_sanitizers/array_checker.rb
graphql_devise-0.15.0 lib/graphql_devise/mount_method/option_sanitizers/array_checker.rb
graphql_devise-0.14.3 lib/graphql_devise/mount_method/option_sanitizers/array_checker.rb
graphql_devise-0.14.2 lib/graphql_devise/mount_method/option_sanitizers/array_checker.rb
graphql_devise-0.14.1 lib/graphql_devise/mount_method/option_sanitizers/array_checker.rb
graphql_devise-0.14.0 lib/graphql_devise/mount_method/option_sanitizers/array_checker.rb
graphql_devise-0.13.6 lib/graphql_devise/mount_method/option_sanitizers/array_checker.rb
graphql_devise-0.13.5 lib/graphql_devise/mount_method/option_sanitizers/array_checker.rb
graphql_devise-0.13.4 lib/graphql_devise/mount_method/option_sanitizers/array_checker.rb
graphql_devise-0.13.3 lib/graphql_devise/mount_method/option_sanitizers/array_checker.rb
graphql_devise-0.13.2 lib/graphql_devise/mount_method/option_sanitizers/array_checker.rb
graphql_devise-0.13.1 lib/graphql_devise/mount_method/option_sanitizers/array_checker.rb
graphql_devise-0.13.0 lib/graphql_devise/mount_method/option_sanitizers/array_checker.rb