Class: GraphQL::Client::ResponseObject

Inherits:
Object
  • Object
show all
Includes:
Deserialization
Defined in:
lib/graphql_client/response_object.rb

Direct Known Subclasses

ResponseConnection

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(data) ⇒ ResponseObject

Returns a new instance of ResponseObject.



10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
# File 'lib/graphql_client/response_object.rb', line 10

def initialize(data)
  @data = Hash(data)

  @data.each do |field_name, value|
    response_object = case value
    when Hash
      if value.key?('edges')
        ResponseConnection.new(value)
      else
        self.class.new(value)
      end
    when Array
      value.map { |v| v.is_a?(Hash) ? self.class.new(v) : v }
    else
      value
    end

    create_accessor_methods(field_name, response_object)
  end
end

Instance Attribute Details

#dataObject (readonly)

Returns the value of attribute data.



8
9
10
# File 'lib/graphql_client/response_object.rb', line 8

def data
  @data
end