Module: GraphQL::Tracing::Traceable Private

Included in:
Execution::Multiplex, Query
Defined in:
lib/graphql/tracing.rb

Overview

This module is part of a private API. You should avoid using this module if possible, as it may be removed or be changed in the future.

Objects may include traceable to gain a .trace(...) method. The object must have a @tracers ivar of type Array<<#trace(k, d, &b)>>.

Instance Method Summary collapse

Instance Method Details

#trace(key, metadata, &block) ⇒ Object

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Returns Must return the value of the block.

Parameters:

  • key (String)

    The name of the event in GraphQL internals

  • metadata (Hash)

    Event-related metadata (can be anything)

Returns:

  • (Object)

    Must return the value of the block



161
162
163
164
# File 'lib/graphql/tracing.rb', line 161

def trace(key, , &block)
  return yield if @tracers.empty?
  call_tracers(0, key, , &block)
end