lib/a2z/responses/operation_request.rb in a2z-0.0.4 vs lib/a2z/responses/operation_request.rb in a2z-0.1.0

- old
+ new

@@ -1,8 +1,10 @@ module A2z module Responses class OperationRequest + include Helpers + attr_accessor :request_id, :request_processing_time, :headers, :arguments def initialize @headers = [] @arguments = [] @@ -11,19 +13,17 @@ 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'] - headers = data['HTTPHeaders']['Header'] - headers = [headers] unless headers.kind_of?(Array) + 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'] - arguments = data['Arguments']['Argument'] - arguments = [arguments] unless arguments.kind_of?(Array) + 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