File: execution_error.rb

package info (click to toggle)
ruby-graphlient 0.5.0-3
  • links: PTS, VCS
  • area: main
  • in suites: bookworm, bullseye
  • size: 2,648 kB
  • sloc: ruby: 1,288; makefile: 4
file content (29 lines) | stat: -rw-r--r-- 614 bytes parent folder | download
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
module Graphlient
  module Errors
    class ExecutionError < Error
      attr_reader :response

      def initialize(response)
        super('the server responded with a GraphQL execution error')
        @response = response
      end

      def errors
        response.data.errors
      end

      def to_s
        errors.details.map do |key, details|
          details = create_details(details).join("\n")
          [key, details].compact.join(': ')
        end.join("\n")
      end

      private

      def create_details(details)
        details.map { |detail| detail['message'] }
      end
    end
  end
end