Class: IngramMicro::OutboundShipmentInformation

Inherits:
BaseElement
  • Object
show all
Defined in:
lib/ingram_micro/elements/outbound_shipment_information.rb

Direct Known Subclasses

SalesOrderShipmentInformation

Constant Summary collapse

SHIPPING_METHODS =
{
 'FX01' => 'FedEx Standard Overnight',
 'FXAM' => 'FedEx Priority Overnight',
 'FX2D' => 'FedEx Second Day',
 'FXSP' => 'FedEx Smart Post',
 'FXIE' => 'FedEx International Economy',
 'FXIP' => 'FedEx International Priority',
 'FXSV' => 'FedEx Express saver (3 day)',
 'USPP' => 'Postal Priority',
 'GGRNDP' => 'Ground shipping',
 'FXL1' => 'FedEx Freight Overnight (Air)',
 'FXL2' => 'FedEx Freight 2-day (Air)',
 'FXL3' => 'FedEx Freight 3-day (Air)',
 'FXLE' => 'FedEx Freight Ground',
}.freeze
DEFAULTS =
{
  ship_first_name: nil,
  ship_last_name: nil,
  ship_middle_initial: nil,
  ship_address1: nil,
  ship_address2: nil,
  ship_address3: nil,
  ship_city: nil,
  ship_state: nil,
  ship_post_code: nil,
  ship_country_code: nil,
  ship_phone1: nil,
  ship_phone2: nil,
  ship_fax: nil,
  ship_email: nil,
  ship_via: nil,
  ship_request_date: nil,
  ship_request_from: nil,
  ship_request_warehouse: nil
}.freeze

Instance Attribute Summary

Attributes inherited from BaseElement

#element

Instance Method Summary collapse

Methods inherited from BaseElement

format, #initialize

Constructor Details

This class inherits a constructor from IngramMicro::BaseElement

Instance Method Details

#add_ship_address2Object



62
63
64
# File 'lib/ingram_micro/elements/outbound_shipment_information.rb', line 62

def add_ship_address2
  element[:ship_address2] = ' ' unless element[:ship_address2]
end

#build(builder) ⇒ Object



57
58
59
60
# File 'lib/ingram_micro/elements/outbound_shipment_information.rb', line 57

def build(builder)
  add_ship_address2
  super(builder)
end

#defaultsObject



40
41
42
# File 'lib/ingram_micro/elements/outbound_shipment_information.rb', line 40

def defaults
  DEFAULTS
end

#shipping_method_nameObject



49
50
51
52
53
54
55
# File 'lib/ingram_micro/elements/outbound_shipment_information.rb', line 49

def shipping_method_name
  if valid_shipping_methods?
    SHIPPING_METHODS[element[:ship_via]]
  else
    'Invalid shipping code'
  end
end

#valid?Boolean

Returns:

  • (Boolean)


66
67
68
# File 'lib/ingram_micro/elements/outbound_shipment_information.rb', line 66

def valid?
  true
end

#valid_shipping_methods?Boolean

Returns:

  • (Boolean)


44
45
46
47
# File 'lib/ingram_micro/elements/outbound_shipment_information.rb', line 44

def valid_shipping_methods?
  shipping_method = element[:ship_via]
  !!SHIPPING_METHODS[shipping_method]
end