class GraphQL::PersistedQueries::Resolver
Fetches or stores query string in the storage
Public Class Methods
new(extensions, schema)
click to toggle source
# File lib/graphql/persisted_queries/resolver.rb, line 9 def initialize(extensions, schema) @extensions = extensions @schema = schema end
Public Instance Methods
resolve(query_string)
click to toggle source
# 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
Private Instance Methods
persist_query(query_string)
click to toggle source
# File lib/graphql/persisted_queries/resolver.rb, line 29 def persist_query(query_string) validate_hash!(query_string) with_error_handling { @schema.persisted_query_store.save_query(hash, query_string) } end