Class: GraphQL::PersistedQueries::Resolver

Inherits:
Object
  • Object
show all
Includes:
ResolverHelpers
Defined in:
lib/graphql/persisted_queries/resolver.rb

Overview

Fetches or stores query string in the storage

Instance Method Summary collapse

Methods included from ResolverHelpers

hash, validate_hash!, with_error_handling

Constructor Details

#initialize(extensions, schema) ⇒ Resolver

Returns a new instance of Resolver.



9
10
11
12
# File 'lib/graphql/persisted_queries/resolver.rb', line 9

def initialize(extensions, schema)
  @extensions = extensions
  @schema = schema
end

Instance Method Details

#resolve(query_string) ⇒ Object



14
15
16
17
18
19
20
21
22
23
24
25
# File 'lib/graphql/persisted_queries/resolver.rb', line 14

def resolve(query_string)
  return query_string if hash.nil?

  if query_string
    persist_query(query_string)
  else
    query_string = with_error_handling { @schema.persisted_query_store.fetch_query(hash) }
    raise GraphQL::PersistedQueries::NotFound if query_string.nil?
  end

  query_string
end