Module: GraphQL::Client

Defined in:
lib/graphql_client.rb,
lib/graphql_client/base.rb,
lib/graphql_client/error.rb,
lib/graphql_client/config.rb,
lib/graphql_client/version.rb,
lib/graphql_client/response.rb,
lib/graphql_client/graph_node.rb,
lib/graphql_client/query/field.rb,
lib/graphql_client/graph_object.rb,
lib/graphql_client/query/argument.rb,
lib/graphql_client/query/document.rb,
lib/graphql_client/query/fragment.rb,
lib/graphql_client/deserialization.rb,
lib/graphql_client/query/operation.rb,
lib/graphql_client/response_object.rb,
lib/graphql_client/graph_connection.rb,
lib/graphql_client/introspection_query.rb,
lib/graphql_client/query/selection_set.rb,
lib/graphql_client/response_connection.rb,
lib/graphql_client/query/query_document.rb,
lib/graphql_client/adapters/http_adapter.rb,
lib/graphql_client/query/inline_fragment.rb,
lib/graphql_client/query/has_selection_set.rb,
lib/graphql_client/query/mutation_document.rb,
lib/graphql_client/query/add_inline_fragment.rb,
lib/graphql_client/query/operations/query_operation.rb,
lib/graphql_client/query/operations/mutation_operation.rb

Defined Under Namespace

Modules: Adapters, Deserialization, Query Classes: Base, ClientError, Config, GraphConnection, GraphNode, GraphObject, Response, ResponseConnection, ResponseObject

Constant Summary collapse

Error =
Class.new(StandardError)
OpenTimeoutError =
Class.new(Error)
ReadTimeoutError =
Class.new(Error)
ResponseError =
Class.new(Error)
VERSION =
'0.4.1'
INTROSPECTION_QUERY =
'
  query IntrospectionQuery {
    __schema {
      queryType { name }
      mutationType { name }
      subscriptionType { name }
      types {
        ...FullType
      }
      directives {
        name
        description
        locations
        args {
          ...InputValue
        }
      }
    }
  }
  fragment FullType on __Type {
    kind
    name
    description
    fields(includeDeprecated: true) {
      name
      description
      args {
        ...InputValue
      }
      type {
        ...TypeRef
      }
      isDeprecated
      deprecationReason
    }
    inputFields {
      ...InputValue
    }
    interfaces {
      ...TypeRef
    }
    enumValues(includeDeprecated: true) {
      name
      description
      isDeprecated
      deprecationReason
    }
    possibleTypes {
      ...TypeRef
    }
  }
  fragment InputValue on __InputValue {
    name
    description
    type { ...TypeRef }
    defaultValue
  }
  fragment TypeRef on __Type {
    kind
    name
    ofType {
      kind
      name
      ofType {
        kind
        name
        ofType {
          kind
          name
        }
      }
    }
  }
'

Class Method Summary collapse

Class Method Details

.dump_schema(file, config: Config.new, adapter: nil) ⇒ Object



35
36
37
38
39
# File 'lib/graphql_client.rb', line 35

def dump_schema(file, config: Config.new, adapter: nil)
  adapter ||= Adapters::HTTPAdapter.new(config)
  response = adapter.request(INTROSPECTION_QUERY)
  IO.write(file, JSON.pretty_generate(response.body))
end

.new(schema, config: nil, adapter: nil, &block) ⇒ Object



41
42
43
# File 'lib/graphql_client.rb', line 41

def new(schema, config: nil, adapter: nil, &block)
  Base.new(schema, config: config, adapter: adapter, &block)
end