Class: ElasticGraph::SchemaDefinition::Results
- Inherits:
-
Object
- Object
- ElasticGraph::SchemaDefinition::Results
- Includes:
- SchemaArtifacts::ArtifactsHelperMethods
- Defined in:
- elasticgraph-schema_definition/lib/elastic_graph/schema_definition/results.rb
Overview
This class is designed to implement the same interface as ElasticGraph::SchemaArtifacts::FromDisk
, so that it can be used
Provides the results of defining a schema.
interchangeably with schema artifacts loaded from disk. This allows the artifacts to be used in tests without having to dump them or reload them.
Instance Method Summary collapse
-
#available_json_schema_versions ⇒ Set<Integer>
Set of available JSON schema versions.
-
#datastore_config ⇒ Hash<String, Object>
The Elasticsearch/OpenSearch configuration dumped as
datastore_config.yaml
. -
#graphql_schema_string ⇒ String
The generated GraphQL SDL schema string dumped as
schema.graphql
. -
#json_schemas_for(version) ⇒ Hash<String, Object>
The JSON schema for the requested version, if available.
-
#latest_json_schema_version ⇒ Hash<String, Object>
The newly generated JSON schema.
-
#runtime_metadata ⇒ Hash<String, Object>
Runtime metadata used by other parts of ElasticGraph and dumped as
runtime_metadata.yaml
.
Instance Method Details
#available_json_schema_versions ⇒ Set<Integer>
Returns set of available JSON schema versions.
60 61 62 |
# File 'elasticgraph-schema_definition/lib/elastic_graph/schema_definition/results.rb', line 60 def available_json_schema_versions @available_json_schema_versions ||= Set[latest_json_schema_version] end |
#datastore_config ⇒ Hash<String, Object>
Returns the Elasticsearch/OpenSearch configuration dumped as datastore_config.yaml
.
39 40 41 |
# File 'elasticgraph-schema_definition/lib/elastic_graph/schema_definition/results.rb', line 39 def datastore_config @datastore_config ||= generate_datastore_config end |
#graphql_schema_string ⇒ String
Returns the generated GraphQL SDL schema string dumped as schema.graphql
.
34 35 36 |
# File 'elasticgraph-schema_definition/lib/elastic_graph/schema_definition/results.rb', line 34 def graphql_schema_string @graphql_schema_string ||= generate_sdl end |
#json_schemas_for(version) ⇒ Hash<String, Object>
Returns the JSON schema for the requested version, if available.
51 52 53 54 55 56 57 |
# File 'elasticgraph-schema_definition/lib/elastic_graph/schema_definition/results.rb', line 51 def json_schemas_for(version) unless available_json_schema_versions.include?(version) raise Errors::NotFoundError, "The requested json schema version (#{version}) is not available. Available versions: #{available_json_schema_versions.to_a.join(", ")}." end @latest_versioned_json_schema ||= (current_public_json_schema).json_schema end |
#latest_json_schema_version ⇒ Hash<String, Object>
Returns the newly generated JSON schema.
65 66 67 |
# File 'elasticgraph-schema_definition/lib/elastic_graph/schema_definition/results.rb', line 65 def latest_json_schema_version current_public_json_schema[JSON_SCHEMA_VERSION_KEY] end |
#runtime_metadata ⇒ Hash<String, Object>
Returns runtime metadata used by other parts of ElasticGraph and dumped as runtime_metadata.yaml
.
44 45 46 |
# File 'elasticgraph-schema_definition/lib/elastic_graph/schema_definition/results.rb', line 44 def @runtime_metadata ||= end |