1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76
|
# frozen_string_literal: true
module GraphQL
module Tracing
# This is the base class for a `trace` instance whose methods are called during query execution.
# "Trace modes" are subclasses of this with custom tracing modules mixed in.
#
# A trace module may implement any of the methods on `Trace`, being sure to call `super`
# to continue any tracing hooks and call the actual runtime behavior. See {GraphQL::Backtrace::Trace} for example.
#
class Trace
# @param multiplex [GraphQL::Execution::Multiplex, nil]
# @param query [GraphQL::Query, nil]
def initialize(multiplex: nil, query: nil, **_options)
@multiplex = multiplex
@query = query
end
# The Ruby parser doesn't call this method (`graphql/c_parser` does.)
def lex(query_string:)
yield
end
def parse(query_string:)
yield
end
def validate(query:, validate:)
yield
end
def analyze_multiplex(multiplex:)
yield
end
def analyze_query(query:)
yield
end
def execute_multiplex(multiplex:)
yield
end
def execute_query(query:)
yield
end
def execute_query_lazy(query:, multiplex:)
yield
end
def execute_field(field:, query:, ast_node:, arguments:, object:)
yield
end
def execute_field_lazy(field:, query:, ast_node:, arguments:, object:)
yield
end
def authorized(query:, type:, object:)
yield
end
def authorized_lazy(query:, type:, object:)
yield
end
def resolve_type(query:, type:, object:)
yield
end
def resolve_type_lazy(query:, type:, object:)
yield
end
end
end
end
|