Module: ElasticGraph::SchemaDefinition::Mixins::HasDerivedGraphQLTypeCustomizations
- Included in:
- SchemaElements::EnumType, SchemaElements::ScalarType, SchemaElements::TypeWithSubfields, SchemaElements::UnionType
- Defined in:
- elasticgraph-schema_definition/lib/elastic_graph/schema_definition/mixins/has_derived_graphql_type_customizations.rb
Overview
Mixin that supports the customization of derived GraphQL types.
For each type you define, ElasticGraph generates a number of derived GraphQL types that are needed to facilitate the ElasticGraph Query API. Methods in this module can be used to customize those derived GraphQL types.
Instance Method Summary collapse
-
#customize_derived_type_fields(type_name, *field_names, &customization_block) ⇒ void
Registers a customization block for the named fields on the named derived GraphQL type.
-
#customize_derived_types(*type_names, &customization_block) ⇒ void
Registers a customization block for the named derived graphql types.
Instance Method Details
#customize_derived_type_fields(type_name, *field_names, &customization_block) ⇒ void
This method returns an undefined value.
Registers a customization block for the named fields on the named derived GraphQL type. The provided block will get run on the named fields of the named derived GraphQL type, allowing them to be customized.
77 78 79 80 81 82 83 |
# File 'elasticgraph-schema_definition/lib/elastic_graph/schema_definition/mixins/has_derived_graphql_type_customizations.rb', line 77 def customize_derived_type_fields(type_name, *field_names, &customization_block) customizations_by_field = derived_field_customizations_by_type_and_field_name[type_name] field_names.each do |field_name| customizations_by_field[field_name] << customization_block end end |
#customize_derived_types(*type_names, &customization_block) ⇒ void
This method returns an undefined value.
Registers a customization block for the named derived graphql types. The provided block will get run on the named derived GraphQL types, allowing them to be customized.
48 49 50 51 52 53 54 55 56 |
# File 'elasticgraph-schema_definition/lib/elastic_graph/schema_definition/mixins/has_derived_graphql_type_customizations.rb', line 48 def customize_derived_types(*type_names, &customization_block) if type_names.include?(:all) derived_type_customizations_for_all_types << customization_block else type_names.each do |t| derived_type_customizations_by_name[t.to_s] << customization_block end end end |