Sha256: fac82938b210be955212006b6256da8a01d7c190b1d44c658a7fb91affbdd7c0
Contents?: true
Size: 1.56 KB
Versions: 2
Compression:
Stored size: 1.56 KB
Contents
# frozen_string_literal: true require "graphql/backtrace/inspect_result" require "graphql/backtrace/table" require "graphql/backtrace/traced_error" require "graphql/backtrace/tracer" require "graphql/backtrace/trace" module GraphQL # 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 # class Backtrace include Enumerable extend Forwardable def_delegators :to_a, :each, :[] def self.use(schema_defn) schema_defn.trace_with(self::Trace) end def initialize(context, value: nil) @table = Table.new(context, value: value) end def inspect @table.to_table end alias :to_s :inspect def to_a @table.to_backtrace end # Used for internal bookkeeping # @api private class Frame attr_reader :path, :query, :ast_node, :object, :field, :arguments, :parent_frame def initialize(path:, query:, ast_node:, object:, field:, arguments:, parent_frame:) @path = path @query = query @ast_node = ast_node @field = field @object = object @arguments = arguments @parent_frame = parent_frame end end class DefaultBacktraceTrace < GraphQL::Tracing::Trace include GraphQL::Backtrace::Trace end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
graphql-2.0.22 | lib/graphql/backtrace.rb |
graphql-2.0.21 | lib/graphql/backtrace.rb |