Sha256: 095b9dd82ef95d9f0971ae4144e4230dc9f6241c51dd7dfbcbc4fdc924bc6d02
Contents?: true
Size: 990 Bytes
Versions: 34
Compression:
Stored size: 990 Bytes
Contents
# frozen_string_literal: true module GraphQL # If a field's resolve function returns a {ExecutionError}, # the error will be inserted into the response's `"errors"` key # and the field will resolve to `nil`. class ExecutionError < GraphQL::Error # @return [GraphQL::Language::Nodes::Field] the field where the error occured attr_accessor :ast_node # @return [String] an array describing the JSON-path into the execution # response which corresponds to this error. attr_accessor :path def initialize(message, ast_node: nil) @ast_node = ast_node super(message) end # @return [Hash] An entry for the response's "errors" key def to_h hash = { "message" => message, } if ast_node hash["locations"] = [ { "line" => ast_node.line, "column" => ast_node.col, } ] end if path hash["path"] = path end hash end end end
Version data entries
34 entries across 34 versions & 1 rubygems