Class: GraphQL::InputObjectType
- 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
-
#initialize ⇒ InputObjectType
constructor
A new instance of InputObjectType.
-
#initialize_copy(other) ⇒ Object
-
#kind ⇒ Object
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
Methods included from Define::NonNullWithBang
Constructor Details
#initialize ⇒ InputObjectType
Returns a new instance of InputObjectType.
22 23 24 25 |
# File 'lib/graphql/input_object_type.rb', line 22 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.
18 19 20 |
# File 'lib/graphql/input_object_type.rb', line 18 def arguments @arguments end |
#arguments_class ⇒ Object
11 12 13 |
# File 'lib/graphql/input_object_type.rb', line 11 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.
15 16 17 |
# File 'lib/graphql/input_object_type.rb', line 15 def mutation @mutation end |
Instance Method Details
#coerce_result(value, ctx = nil) ⇒ Object
36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 |
# File 'lib/graphql/input_object_type.rb', line 36 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 |
#initialize_copy(other) ⇒ Object
27 28 29 30 |
# File 'lib/graphql/input_object_type.rb', line 27 def initialize_copy(other) super @arguments = other.arguments.dup end |