Class: FedexWebServices::ProcessShipmentResponse
- Inherits:
-
Response
- Object
- Response
- FedexWebServices::ProcessShipmentResponse
show all
- Defined in:
- lib/fedex_web_services/process_shipment_response.rb
Instance Attribute Summary
Attributes inherited from Response
#contents
Instance Method Summary
collapse
Methods inherited from Response
#errors, #initialize
Instance Method Details
#label ⇒ Object
5
6
7
8
|
# File 'lib/fedex_web_services/process_shipment_response.rb', line 5
def label
label = contents.completedShipmentDetail.completedPackageDetails.first.label
Base64.decode64(label.parts.map { |p| Base64.decode64(p.image) } * "")
end
|
#package_rate ⇒ Object
16
17
18
19
20
21
22
23
24
25
26
|
# File 'lib/fedex_web_services/process_shipment_response.rb', line 16
def package_rate
details = contents.completedShipmentDetail.completedPackageDetails.first
details.packageRating.packageRateDetails.inject(0) do |acc, rate|
rate.rateType == FedexWebServices::Soap::Ship::ReturnedRateType::PAYOR_ACCOUNT_PACKAGE ?
acc + BigDecimal.new(rate.netCharge.amount) :
acc
end
rescue
raise "Unable to extract rate information from response"
end
|
#tracking_number ⇒ Object
10
11
12
13
14
|
# File 'lib/fedex_web_services/process_shipment_response.rb', line 10
def tracking_number
contents.completedShipmentDetail.completedPackageDetails[0].trackingIds[0].trackingNumber
rescue
raise "Unable to extract tracking number from response"
end
|