class FedexWebServices::ProcessShipmentResponse

Public Instance Methods

label() click to toggle source
# 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() click to toggle source
# 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(rate.netCharge.amount) :
        acc
  end
rescue
  raise Api::ServiceException, "Unable to extract rate information from response"
end
tracking_number() click to toggle source
# File lib/fedex_web_services/process_shipment_response.rb, line 10
def tracking_number
  contents.completedShipmentDetail.completedPackageDetails[0].trackingIds[0].trackingNumber
rescue
  raise Api::ServiceException, "Unable to extract tracking number from response"
end