class SimpleShipping::Fedex::PackageBuilder

Knows how to convert {Package} model to SOAP element for FedEx.

Constants

DIMENSION_UNITS

FedEx mapping for dimension units.

WEIGHT_UNITS

FedEx mapping for weight units.

Public Instance Methods

build() click to toggle source

Build a SOAP package element as a hash for Savon.

# File lib/simple_shipping/fedex/package_builder.rb, line 12
def build
  { 'Weight'     => {'Units' => WEIGHT_UNITS[@model.weight_units],
                     'Value' => @model.weight,
                     :order! => ['Units', 'Value']},
    'Dimensions' => {'Length' => @model.length,
                     'Width'  => @model.width,
                     'Height' => @model.height,
                     'Units'  => DIMENSION_UNITS[@model.dimension_units],
                     :order!  => ['Length', 'Width', 'Height', 'Units']},
    :order! => ['Weight',  'Dimensions']}
end