Class: GraphQL::InterfaceType
- Includes:
- BaseType::HasPossibleTypes
- Defined in:
- lib/graphql/interface_type.rb
Overview
An Interface contains a collection of types which implement some of the same fields.
Interfaces can have fields, defined with ‘field`, just like an object type.
Objects which implement this field inherit field definitions from the interface. An object type can override the inherited definition by redefining that field.
Constant Summary
Constants included from BaseType::HasPossibleTypes
BaseType::HasPossibleTypes::DEFAULT_RESOLVE_TYPE
Instance Attribute Summary
Attributes inherited from BaseType
Instance Method Summary collapse
-
#all_fields ⇒ Array<GraphQL::Field>
All fields on this type.
-
#get_field(field_name) ⇒ GraphQL::Field
The defined field for ‘field_name`.
-
#initialize ⇒ InterfaceType
constructor
A new instance of InterfaceType.
- #kind ⇒ Object
Methods included from BaseType::HasPossibleTypes
#legacy_resolve_type, #resolve_type, #resolve_type=, #warn_resolve_type_deprecated
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
#definition_proc=, included, #metadata
Methods included from Define::NonNullWithBang
Constructor Details
#initialize ⇒ InterfaceType
Returns a new instance of InterfaceType.
30 31 32 |
# File 'lib/graphql/interface_type.rb', line 30 def initialize @fields = {} end |
Instance Method Details
#all_fields ⇒ Array<GraphQL::Field>
Returns All fields on this type.
44 45 46 |
# File 'lib/graphql/interface_type.rb', line 44 def all_fields fields.values end |
#get_field(field_name) ⇒ GraphQL::Field
Returns The defined field for ‘field_name`.
39 40 41 |
# File 'lib/graphql/interface_type.rb', line 39 def get_field(field_name) fields[field_name] end |