Class: A2z::Responses::OperationRequest

Inherits:
Object
  • Object
show all
Includes:
Helpers
Defined in:
lib/a2z/responses/operation_request.rb

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Methods included from Helpers

included

Constructor Details

#initializeOperationRequest

Returns a new instance of OperationRequest.



8
9
10
11
# File 'lib/a2z/responses/operation_request.rb', line 8

def initialize
  @headers = []
  @arguments = []
end

Instance Attribute Details

#argumentsObject

Returns the value of attribute arguments.



6
7
8
# File 'lib/a2z/responses/operation_request.rb', line 6

def arguments
  @arguments
end

#headersObject

Returns the value of attribute headers.



6
7
8
# File 'lib/a2z/responses/operation_request.rb', line 6

def headers
  @headers
end

#request_idObject

Returns the value of attribute request_id.



6
7
8
# File 'lib/a2z/responses/operation_request.rb', line 6

def request_id
  @request_id
end

#request_processing_timeObject

Returns the value of attribute request_processing_time.



6
7
8
# File 'lib/a2z/responses/operation_request.rb', line 6

def request_processing_time
  @request_processing_time
end

Class Method Details

.from_response(data) ⇒ Object



13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
# File 'lib/a2z/responses/operation_request.rb', line 13

def self.from_response(data)
  new.tap do |operation_request|
    operation_request.request_id = data['RequestId']
    operation_request.request_processing_time = data['RequestProcessingTime'].to_f
    
    if data['HTTPHeaders'] && data['HTTPHeaders']['Header']
      headers = array_wrap(data['HTTPHeaders']['Header'])
      headers = headers.collect { |h| [ h['Name'], h['Value'] ] }
      operation_request.headers = Hash[headers]
    end
    
    if data['Arguments'] && data['Arguments']['Argument']
      arguments = array_wrap(data['Arguments']['Argument'])
      arguments = arguments.collect { |a| [ a['Name'], a['Value'] ] }
      operation_request.arguments = Hash[arguments]
    end
    
    operation_request.freeze
  end
end