class GraphQL::Backtrace

Wrap unhandled errors with {TracedError}.

{TracedError} provides a GraphQL backtrace with arguments and return values. The underlying error is available as {TracedError#cause}.

@example toggling backtrace annotation

class MySchema < GraphQL::Schema
  if Rails.env.development? || Rails.env.test?
    use GraphQL::Backtrace
  end
end

Public Class Methods

new(context, value: nil) click to toggle source
# File lib/graphql/backtrace.rb, line 35
def initialize(context, value: nil)
  @table = Table.new(context, value: value)
end
use(schema_defn, legacy: false) click to toggle source
# File lib/graphql/backtrace.rb, line 26
def self.use(schema_defn, legacy: false)
  tracer = if legacy
    self::LegacyTracer
  else
    self::Tracer
  end
  schema_defn.tracer(tracer)
end

Public Instance Methods

inspect() click to toggle source
# File lib/graphql/backtrace.rb, line 39
def inspect
  @table.to_table
end
Also aliased as: to_s
to_a() click to toggle source
# File lib/graphql/backtrace.rb, line 45
def to_a
  @table.to_backtrace
end
to_s()
Alias for: inspect