ElasticGraph::GraphQL
Provides the ElasticGraph GraphQL query engine.
Dependency Diagram
graph LR;
classDef targetGemStyle fill:#FADBD8,stroke:#EC7063,color:#000,stroke-width:2px;
classDef otherEgGemStyle fill:#A9DFBF,stroke:#2ECC71,color:#000;
classDef externalGemStyle fill:#E0EFFF,stroke:#70A1D7,color:#2980B9;
elasticgraph-graphql["elasticgraph-graphql"];
class elasticgraph-graphql targetGemStyle;
base64["base64"];
elasticgraph-graphql --> base64;
class base64 externalGemStyle;
elasticgraph-datastore_core["elasticgraph-datastore_core"];
elasticgraph-graphql --> elasticgraph-datastore_core;
class elasticgraph-datastore_core otherEgGemStyle;
elasticgraph-schema_artifacts["elasticgraph-schema_artifacts"];
elasticgraph-graphql --> elasticgraph-schema_artifacts;
class elasticgraph-schema_artifacts otherEgGemStyle;
graphql["graphql"];
elasticgraph-graphql --> graphql;
class graphql externalGemStyle;
graphql-c_parser["graphql-c_parser"];
elasticgraph-graphql --> graphql-c_parser;
class graphql-c_parser externalGemStyle;
elasticgraph-apollo["elasticgraph-apollo"];
elasticgraph-apollo --> elasticgraph-graphql;
class elasticgraph-apollo otherEgGemStyle;
elasticgraph-graphql_lambda["elasticgraph-graphql_lambda"];
elasticgraph-graphql_lambda --> elasticgraph-graphql;
class elasticgraph-graphql_lambda otherEgGemStyle;
elasticgraph-health_check["elasticgraph-health_check"];
elasticgraph-health_check --> elasticgraph-graphql;
class elasticgraph-health_check otherEgGemStyle;
elasticgraph-local["elasticgraph-local"];
elasticgraph-local --> elasticgraph-graphql;
class elasticgraph-local otherEgGemStyle;
elasticgraph-query_interceptor["elasticgraph-query_interceptor"];
elasticgraph-query_interceptor --> elasticgraph-graphql;
class elasticgraph-query_interceptor otherEgGemStyle;
elasticgraph-query_registry["elasticgraph-query_registry"];
elasticgraph-query_registry --> elasticgraph-graphql;
class elasticgraph-query_registry otherEgGemStyle;
elasticgraph-rack["elasticgraph-rack"];
elasticgraph-rack --> elasticgraph-graphql;
class elasticgraph-rack otherEgGemStyle;
elasticgraph-schema_definition["elasticgraph-schema_definition"];
elasticgraph-schema_definition --> elasticgraph-graphql;
class elasticgraph-schema_definition otherEgGemStyle;
click base64 href "https://rubygems.org/gems/base64" "Open on RubyGems.org" _blank;
click graphql href "https://rubygems.org/gems/graphql" "Open on RubyGems.org" _blank;
click graphql-c_parser href "https://rubygems.org/gems/graphql-c_parser" "Open on RubyGems.org" _blank;
Usage
Most of the time, an elasticgraph-graphql
endpoint is served via HTTP using elasticgraph-rack
or elasticgraph-graphql_lambda
.
However, you can interact with it directly in Ruby:
require "elastic_graph/graphql"
graphql = ElasticGraph::GraphQL.from_yaml_file("config/settings/local.yaml")
graphql.graphql_query_executor.execute("query { __typename }") # Returns a GraphQL response.