Class: ElasticGraph::SchemaDefinition::SchemaElements::ObjectType
- Inherits:
-
TypeWithSubfields
- Object
- Struct
- TypeWithSubfields
- ElasticGraph::SchemaDefinition::SchemaElements::ObjectType
- Defined in:
- lib/elastic_graph/schema_definition/schema_elements/object_type.rb
Overview
Defines a [GraphQL object type](graphql.org/learn/schema/#object-types-and-fields) Use it to define a concrete type that has subfields. Object types can either be indexed (e.g. directly indexed in the datastore, and available to query from the root ‘Query` object) or embedded in other indexed types.
Constant Summary
Constants included from Mixins::HasTypeInfo
Mixins::HasTypeInfo::CUSTOMIZABLE_DATASTORE_PARAMS
Instance Attribute Summary
Attributes included from Mixins::HasIndices
#default_graphql_resolver, #runtime_metadata_overrides
Attributes inherited from TypeWithSubfields
#field_factory, #graphql_fields_by_name, #indexing_fields_by_name_in_index, #relay_pagination_type, #reserved_field_names, #schema_def_state, #schema_kind, #type_ref, #wrapping_type
Attributes included from Mixins::HasDocumentation
Instance Method Summary collapse
-
#initialize(schema_def_state, name) ⇒ ObjectType
constructor
A new instance of ObjectType.
Methods included from Mixins::ImplementsInterfaces
#implemented_interfaces, #implements, #to_sdl, #verify_graphql_correctness!
Methods included from Mixins::HasIndices
#abstract?, #derive_indexed_type_fields, #derived_indexed_types, #fields_with_sources, #index, #indexed?, #indices, #override_runtime_metadata, #plural_root_query_field_name, #resolve_fields_with, #root_query_fields, #root_query_fields_customizations, #runtime_metadata, #singular_root_query_field_name
Methods included from Mixins::SupportsFilteringAndAggregation
#derived_graphql_types, #does_not_support?, #has_custom_mapping_type?, #supports?
Methods inherited from TypeWithSubfields
#aggregated_values_type, #current_sources, #deleted_field, #field, #generate_sdl, #index_field_runtime_metadata_tuples, #indexed?, #name, #paginated_collection_field, #relates_to_many, #relates_to_one, #renamed_from, #to_indexing_field_type, #to_sdl
Methods included from Mixins::HasTypeInfo
#json_schema, #json_schema_options, #mapping, #mapping_options
Methods included from Mixins::HasDerivedGraphQLTypeCustomizations
#customize_derived_type_fields, #customize_derived_types, #derived_field_customizations_by_name_for_type, #derived_field_customizations_by_type_and_field_name, #derived_type_customizations_by_name, #derived_type_customizations_for_type
Methods included from Mixins::HasDirectives
#directive, #directives, #directives_sdl
Methods included from Mixins::HasDocumentation
#append_to_documentation, #derived_documentation, #documentation, #formatted_documentation
Methods included from Mixins::CanBeGraphQLOnly
Methods included from Mixins::VerifiesGraphQLName
Constructor Details
#initialize(schema_def_state, name) ⇒ ObjectType
Returns a new instance of ObjectType.
42 43 44 45 46 47 48 49 |
# File 'lib/elastic_graph/schema_definition/schema_elements/object_type.rb', line 42 def initialize(schema_def_state, name) field_factory = schema_def_state.factory.method(:new_field) schema_def_state.factory.new_type_with_subfields(:type, name, wrapping_type: self, field_factory: field_factory) do |type| __skip__ = super(type) do yield self end end end |