class GraphQL::FragmentCache::Schema::Tracer

Public Class Methods

trace(key, data) { || ... } click to toggle source
# File lib/graphql/fragment_cache/schema/tracer.rb, line 11
def trace(key, data)
  yield.tap do |resolved_value|
    next unless connection_field?(key, data)

    verify_connections!(data[:query].context)
  end

Private Instance Methods

connection_field?(key, data) click to toggle source
# File lib/graphql/fragment_cache/schema/tracer.rb, line 21
def connection_field?(key, data)
  key == "execute_field" && data[:field].connection?
end
verify_connections!(context) click to toggle source
# File lib/graphql/fragment_cache/schema/tracer.rb, line 25
def verify_connections!(context)
  return if GraphQL::FragmentCache.graphql_ruby_1_12_or_later? || context.schema.new_connections?

  raise StandardError,
    "GraphQL::Pagination::Connections should be enabled for connection caching"
end