Module: GraphQL::PersistedQueries::CompiledQueries::QueryPatch

Defined in:
lib/graphql/persisted_queries/compiled_queries/query_patch.rb

Overview

Patches GraphQL::Query to support compiled queries

Instance Method Summary collapse

Instance Method Details

#persisted_query_not_found!Object



8
9
10
# File 'lib/graphql/persisted_queries/compiled_queries/query_patch.rb', line 8

def persisted_query_not_found!
  @persisted_query_not_found = true
end

#persisted_query_not_found?Boolean

Returns:

  • (Boolean)


12
13
14
# File 'lib/graphql/persisted_queries/compiled_queries/query_patch.rb', line 12

def persisted_query_not_found?
  @persisted_query_not_found
end

#prepare_astObject



16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
# File 'lib/graphql/persisted_queries/compiled_queries/query_patch.rb', line 16

def prepare_ast
  return super if @context[:extensions].nil? || @document

  try_load_document!

  super.tap do
    if @context.errors.any?(&method(:not_found_error?))
      @context.errors.select!(&method(:not_found_error?))
    end

    if @persisted_document_not_found && query_string
      resolver.persist(query_string, @document)
    end
  end
end

#try_load_document!Object



32
33
34
35
36
37
38
# File 'lib/graphql/persisted_queries/compiled_queries/query_patch.rb', line 32

def try_load_document!
  return if @document || @persisted_document_not_found

  compiled_query_resolver = CompiledQueries::Resolver.new(schema, context[:extensions])
  @document = compiled_query_resolver.fetch
  @persisted_document_not_found = @document.nil?
end