Class: GraphQL::InputObjectType
- Extended by:
- Define::InstanceDefinable::DeprecatedDefine
- Defined in:
- lib/graphql/input_object_type.rb
Instance Attribute Summary collapse
-
#arguments ⇒ Hash<String => GraphQL::Argument>
(also: #input_fields)
Map String argument names to their Argument implementations.
- #arguments_class ⇒ Object
-
#mutation ⇒ GraphQL::Relay::Mutation?
The mutation this field was derived from, if it was derived from a mutation.
Attributes inherited from BaseType
#ast_node, #default_relay, #default_scalar, #description, #introspection, #name
Instance Method Summary collapse
- #coerce_result(value, ctx = nil) ⇒ Object
- #get_argument(argument_name) ⇒ Object
-
#initialize ⇒ InputObjectType
constructor
A new instance of InputObjectType.
- #initialize_copy(other) ⇒ Object
- #kind ⇒ Object
Methods included from Define::InstanceDefinable::DeprecatedDefine
Methods inherited from BaseType
#==, #coerce_input, #coerce_isolated_input, #coerce_isolated_result, #default_relay?, #default_scalar?, #get_field, #introspection?, #list?, #non_null?, resolve_related_type, #resolve_type, #to_definition, #to_list_type, #to_non_null_type, #to_s, #type_class, #unwrap, #valid_input?, #valid_isolated_input?, #validate_input, #validate_isolated_input
Methods included from Relay::TypeExtensions
#connection_type, #define_connection, #define_edge, #edge_type
Methods included from Define::InstanceDefinable
#define, #deprecated_define, #metadata, #redefine
Methods included from Define::NonNullWithBang
Constructor Details
#initialize ⇒ InputObjectType
Returns a new instance of InputObjectType.
24 25 26 27 |
# File 'lib/graphql/input_object_type.rb', line 24 def initialize super @arguments = {} end |
Instance Attribute Details
#arguments ⇒ Hash<String => GraphQL::Argument> Also known as: input_fields
Returns Map String argument names to their Argument implementations.
20 21 22 |
# File 'lib/graphql/input_object_type.rb', line 20 def arguments @arguments end |
#arguments_class ⇒ Object
13 14 15 |
# File 'lib/graphql/input_object_type.rb', line 13 def arguments_class @arguments_class end |
#mutation ⇒ GraphQL::Relay::Mutation?
Returns The mutation this field was derived from, if it was derived from a mutation.
17 18 19 |
# File 'lib/graphql/input_object_type.rb', line 17 def mutation @mutation end |
Instance Method Details
#coerce_result(value, ctx = nil) ⇒ Object
38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 |
# File 'lib/graphql/input_object_type.rb', line 38 def coerce_result(value, ctx = nil) if ctx.nil? warn_deprecated_coerce("coerce_isolated_result") ctx = GraphQL::Query::NullContext end # Allow the application to provide values as :symbols, and convert them to the strings value = value.reduce({}) { |memo, (k, v)| memo[k.to_s] = v; memo } result = {} arguments.each do |input_key, input_field_defn| input_value = value[input_key] if value.key?(input_key) result[input_key] = if input_value.nil? nil else input_field_defn.type.coerce_result(input_value, ctx) end end end result end |
#get_argument(argument_name) ⇒ Object
63 64 65 |
# File 'lib/graphql/input_object_type.rb', line 63 def get_argument(argument_name) arguments[argument_name] end |
#initialize_copy(other) ⇒ Object
29 30 31 32 |
# File 'lib/graphql/input_object_type.rb', line 29 def initialize_copy(other) super @arguments = other.arguments.dup end |