Class: GraphQL::ObjectType
- Defined in:
- lib/graphql/object_type.rb,
lib/graphql/unresolved_type_error.rb
Overview
This type exposes fields on an object.
Direct Known Subclasses
Constant Summary collapse
- UnresolvedTypeError =
Deprecated.
Use UnresolvedTypeError instead
GraphQL::UnresolvedTypeError
Instance Attribute Summary collapse
-
#fields ⇒ Hash<String => GraphQL::Field>
Map String fieldnames to their Field implementations.
-
#mutation ⇒ GraphQL::Relay::Mutation?
The mutation this field was derived from, if it was derived from a mutation.
Attributes inherited from BaseType
Instance Method Summary collapse
-
#all_fields ⇒ Array<GraphQL::Field>
All fields, including ones inherited from interfaces.
-
#get_field(field_name) ⇒ GraphQL::Field
The field definition for ‘field_name` (may be inherited from interfaces).
-
#initialize ⇒ ObjectType
constructor
A new instance of ObjectType.
- #interfaces ⇒ Object
- #interfaces=(new_interfaces) ⇒ Object
- #kind ⇒ Object
Methods inherited from BaseType
#==, #coerce_input, #connection_type, #define_connection, #define_edge, #edge_type, resolve_related_type, #resolve_type, #to_list_type, #to_non_null_type, #to_s, #unwrap, #valid_input?, #validate_input
Methods included from Define::InstanceDefinable
#define, #definition_proc=, included, #metadata
Methods included from Define::NonNullWithBang
Constructor Details
#initialize ⇒ ObjectType
Returns a new instance of ObjectType.
35 36 37 38 |
# File 'lib/graphql/object_type.rb', line 35 def initialize @fields = {} @dirty_interfaces = [] end |
Instance Attribute Details
#fields ⇒ Hash<String => GraphQL::Field>
Returns Map String fieldnames to their Field implementations.
|
# File 'lib/graphql/object_type.rb', line 28
|
#mutation ⇒ GraphQL::Relay::Mutation?
Returns The mutation this field was derived from, if it was derived from a mutation.
|
# File 'lib/graphql/object_type.rb', line 31
|
Instance Method Details
#all_fields ⇒ Array<GraphQL::Field>
Returns All fields, including ones inherited from interfaces.
65 66 67 |
# File 'lib/graphql/object_type.rb', line 65 def all_fields interface_fields.merge(self.fields).values end |
#get_field(field_name) ⇒ GraphQL::Field
Returns The field definition for ‘field_name` (may be inherited from interfaces).
60 61 62 |
# File 'lib/graphql/object_type.rb', line 60 def get_field(field_name) fields[field_name] || interface_fields[field_name] end |
#interfaces ⇒ Object
46 47 48 49 50 51 52 53 |
# File 'lib/graphql/object_type.rb', line 46 def interfaces @clean_interfaces ||= begin ensure_defined @dirty_interfaces.map { |i_type| GraphQL::BaseType.(i_type) } rescue @dirty_interfaces end end |
#interfaces=(new_interfaces) ⇒ Object
41 42 43 44 |
# File 'lib/graphql/object_type.rb', line 41 def interfaces=(new_interfaces) @clean_interfaces = nil @dirty_interfaces = new_interfaces end |