Class: ShellEv::Response

Inherits:
BaseModel
  • Object
show all
Defined in:
lib/shell_ev/models/response.rb

Overview

Response Model.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from BaseModel

#to_hash, #to_json

Constructor Details

#initialize(request_id = SKIP, status = SKIP, data = SKIP) ⇒ Response

Returns a new instance of Response.



48
49
50
51
52
# File 'lib/shell_ev/models/response.rb', line 48

def initialize(request_id = SKIP, status = SKIP, data = SKIP)
  @request_id = request_id unless request_id == SKIP
  @status = status unless status == SKIP
  @data = data unless data == SKIP
end

Instance Attribute Details

#dataArray[LocationResponeObject]

API Response

Returns:



23
24
25
# File 'lib/shell_ev/models/response.rb', line 23

def data
  @data
end

#request_idUUID | String

requestId is unique identifier value that is attached to requests and messages that allow reference to a particular transaction or event chain.

Returns:

  • (UUID | String)


15
16
17
# File 'lib/shell_ev/models/response.rb', line 15

def request_id
  @request_id
end

#statusString

status of the API call

Returns:

  • (String)


19
20
21
# File 'lib/shell_ev/models/response.rb', line 19

def status
  @status
end

Class Method Details

.from_hash(hash) ⇒ Object

Creates an instance of the object from a hash.



55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
# File 'lib/shell_ev/models/response.rb', line 55

def self.from_hash(hash)
  return nil unless hash

  # Extract variables from the hash.
  request_id = hash.key?('requestId') ? hash['requestId'] : SKIP
  status = hash.key?('status') ? hash['status'] : SKIP
  # Parameter is an array, so we need to iterate through it
  data = nil
  unless hash['data'].nil?
    data = []
    hash['data'].each do |structure|
      data << (LocationResponeObject.from_hash(structure) if structure)
    end
  end

  data = SKIP unless hash.key?('data')

  # Create object from extracted values.
  Response.new(request_id,
               status,
               data)
end

.namesObject

A mapping from model property names to API property names.



26
27
28
29
30
31
32
# File 'lib/shell_ev/models/response.rb', line 26

def self.names
  @_hash = {} if @_hash.nil?
  @_hash['request_id'] = 'requestId'
  @_hash['status'] = 'status'
  @_hash['data'] = 'data'
  @_hash
end

.nullablesObject

An array for nullable fields



44
45
46
# File 'lib/shell_ev/models/response.rb', line 44

def self.nullables
  []
end

.optionalsObject

An array for optional fields



35
36
37
38
39
40
41
# File 'lib/shell_ev/models/response.rb', line 35

def self.optionals
  %w[
    request_id
    status
    data
  ]
end