class ActiveGraphql::Client::Response

graphql response wrapper

Attributes

graphql_error[R]
graphql_object[R]

Public Class Methods

new(graphql_object, error = nil) click to toggle source
# File lib/active_graphql/client/response.rb, line 9
def initialize(graphql_object, error = nil)
  if graphql_object
    root_field = graphql_object.to_h.keys.first.to_s.underscore
    @graphql_object = graphql_object.public_send(root_field)
  end

  @graphql_error = error if error
end

Public Instance Methods

detailed_errors() click to toggle source
# File lib/active_graphql/client/response.rb, line 32
def detailed_errors
  return [] if graphql_error.blank?

  graphql_error.errors.details['data'].map(&:with_indifferent_access)
end
errors() click to toggle source
# File lib/active_graphql/client/response.rb, line 38
def errors
  detailed_errors.map { |error| error[:message] }
end
result() click to toggle source
# File lib/active_graphql/client/response.rb, line 18
def result
  graphql_object
end
result!() click to toggle source
# File lib/active_graphql/client/response.rb, line 22
def result!
  raise ActiveGraphql::Errors::ResponseError, errors.first if errors.any?

  graphql_object
end
success?() click to toggle source
# File lib/active_graphql/client/response.rb, line 28
def success?
  graphql_error.nil?
end