class SimpleShipping::Ups::VoidRequest

UPS request to void shipment.

Public Class Methods

new(credentials, shipment_identification_number, options = {}) click to toggle source

@param credentials [Hash] @param shipment_identification_number [String] @param options [Hash]

# File lib/simple_shipping/ups/void_request.rb, line 8
def initialize(credentials, shipment_identification_number, options = {})
  @credentials                    = credentials
  @shipment_identification_number = shipment_identification_number
  @tracking_number                = options[:tracking_number]
  @options                        = options
  @type                           = :process_void
end

Public Instance Methods

body() click to toggle source

Build a request from a {Shipment shipment} object.

# File lib/simple_shipping/ups/void_request.rb, line 17
def body
  {
    'common:Request' => {
      'common:RequestOption' => REQUEST_OPTION
    },
    'VoidShipment' => void_shipment,
    :order!        => ['common:Request', 'VoidShipment']
  }
end

Private Instance Methods

void_shipment() click to toggle source

Data for VoidShipment.

@return [Hash]

# File lib/simple_shipping/ups/void_request.rb, line 30
def void_shipment
  data = { 'ShipmentIdentificationNumber' => @shipment_identification_number }

  if @tracking_number
    data['TrackingNumber'] = @tracking_number
    data[:order!]          = ['ShipmentIdentificationNumber', 'TrackingNumber']
  end

  data
end