Class: GraphQL::Introspection::InputValueType

Inherits:
BaseObject show all
Defined in:
lib/graphql/introspection/input_value_type.rb

Constant Summary

Constants included from Schema::Member::HasFields

Schema::Member::HasFields::CONFLICT_FIELD_NAMES, Schema::Member::HasFields::GRAPHQL_RUBY_KEYWORDS, Schema::Member::HasFields::RUBY_KEYWORDS

Constants included from Schema::Member::HasDirectives

Schema::Member::HasDirectives::NO_DIRECTIVES

Constants included from Schema::Member::GraphQLTypeNames

Schema::Member::GraphQLTypeNames::Boolean, Schema::Member::GraphQLTypeNames::ID, Schema::Member::GraphQLTypeNames::Int

Instance Attribute Summary

Attributes inherited from Schema::Object

#context, #object

Instance Method Summary collapse

Methods inherited from BaseObject

field

Methods inherited from Schema::Object

authorized_new, #dataloader, inherited, #initialize, kind, #raw_value

Methods included from Schema::Member::HasFields

#add_field, #all_field_definitions, #field, #field_class, #fields, #get_field, #global_id_field, #own_fields

Methods included from Schema::Member::HasInterfaces

#implements, #interface_type_memberships, #interfaces, #own_interface_type_memberships

Methods included from Schema::Member::BaseDSLMethods

#accessible?, #authorized?, #default_graphql_name, #description, #graphql_name, #introspection, #introspection?, #mutation, #name, #overridden_graphql_name, #visible?

Methods included from Schema::Member::BaseDSLMethods::ConfigurationExtension

#inherited

Methods included from Schema::Member::TypeSystemHelpers

#kind, #list?, #non_null?, #to_list_type, #to_non_null_type, #to_type_signature

Methods included from Schema::Member::Scoped

#scope_items

Methods included from Schema::Member::RelayShortcuts

#connection_type, #connection_type_class, #edge_type, #edge_type_class

Methods included from Schema::Member::HasPath

#path

Methods included from Schema::Member::HasAstNode

#ast_node

Methods included from Schema::Member::HasDirectives

#directive, #directives, #remove_directive

Constructor Details

This class inherits a constructor from GraphQL::Schema::Object

Instance Method Details

#default_valueObject



20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
# File 'lib/graphql/introspection/input_value_type.rb', line 20

def default_value
  if @object.default_value?
    value = @object.default_value
    if value.nil?
      'null'
    else
      if (@object.type.kind.list? || (@object.type.kind.non_null? && @object.type.of_type.kind.list?)) && !value.respond_to?(:map)
        # This is a bit odd -- we expect the default value to be an application-style value, so we use coerce result below.
        # But coerce_result doesn't wrap single-item lists, which are valid inputs to list types.
        # So, apply that wrapper here if needed.
        value = [value]
      end
      coerced_default_value = @object.type.coerce_result(value, @context)
      serialize_default_value(coerced_default_value, @object.type)
    end
  else
    nil
  end
end

#is_deprecatedObject



16
17
18
# File 'lib/graphql/introspection/input_value_type.rb', line 16

def is_deprecated
  !!@object.deprecation_reason
end