Class: FriendlyShipping::Services::UpsFreight::RatesItemOptions

Inherits:
ItemOptions
  • Object
show all
Defined in:
lib/friendly_shipping/services/ups_freight/rates_item_options.rb

Overview

Options for Items in a UPS Freight shipment

Direct Known Subclasses

LabelItemOptions

Constant Summary collapse

PACKAGING_TYPES =
{
  bag: { code: "BAG", description: "Bag" },
  bale: { code: "BAL", description: "Bale" },
  barrel: { code: "BAR", description: "Barrel" },
  bundle: { code: "BDL", description: "Bundle" },
  bin: { code: "BIN", description: "Bin" },
  box: { code: "BOX", description: "Box" },
  basket: { code: "BSK", description: "Basket" },
  bunch: { code: "BUN", description: "Bunch" },
  cabinet: { code: "CAB", description: "Cabinet" },
  can: { code: "CAN", description: "Can" },
  carrier: { code: "CAR", description: "Carrier" },
  case: { code: "CAS", description: "Case" },
  carboy: { code: "CBY", description: "Carboy" },
  container: { code: "CON", description: "Container" },
  crate: { code: "CRT", description: "Crate" },
  cask: { code: "CSK", description: "Cask" },
  carton: { code: "CTN", description: "Carton" },
  cylinder: { code: "CYL", description: "Cylinder" },
  drum: { code: "DRM", description: "Drum" },
  loose: { code: "LOO", description: "Loose" },
  other: { code: "OTH", description: "Other" },
  pail: { code: "PAL", description: "Pail" },
  pieces: { code: "PCS", description: "Pieces" },
  package: { code: "PKG", description: "Package" },
  pipe_line: { code: "PLN", description: "Pipe Line" },
  pallet: { code: "PLT", description: "Pallet" },
  rack: { code: "RCK", description: "Rack" },
  reel: { code: "REL", description: "Reel" },
  roll: { code: "ROL", description: "Roll" },
  skid: { code: "SKD", description: "Skid" },
  spool: { code: "SPL", description: "Spool" },
  tube: { code: "TBE", description: "Tube" },
  tank: { code: "TNK", description: "Tank" },
  totes: { code: "TOT", description: "Totes" },
  unit: { code: "UNT", description: "Unit" },
  van_pack: { code: "VPK", description: "Van Pack" },
  wrapped: { code: "WRP", description: "Wrapped" }
}.freeze

Instance Attribute Summary collapse

Attributes inherited from ItemOptions

#item_id

Instance Method Summary collapse

Constructor Details

#initialize(packaging: :carton, freight_class: nil, nmfc_code: nil, **kwargs) ⇒ RatesItemOptions

Returns a new instance of RatesItemOptions.



57
58
59
60
61
62
63
64
65
66
67
68
# File 'lib/friendly_shipping/services/ups_freight/rates_item_options.rb', line 57

def initialize(
  packaging: :carton,
  freight_class: nil,
  nmfc_code: nil,
  **kwargs
)
  @packaging_code = PACKAGING_TYPES.fetch(packaging).fetch(:code)
  @packaging_description = PACKAGING_TYPES.fetch(packaging).fetch(:description)
  @freight_class = freight_class
  @nmfc_code = nmfc_code
  super(**kwargs)
end

Instance Attribute Details

#freight_classObject (readonly)

Returns the value of attribute freight_class.



52
53
54
# File 'lib/friendly_shipping/services/ups_freight/rates_item_options.rb', line 52

def freight_class
  @freight_class
end

#freight_class The freight class of this item, for example '55' or '92.5'(Thefreight) ⇒ Object (readonly)

Options for Items in a UPS Freight shipment



11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
# File 'lib/friendly_shipping/services/ups_freight/rates_item_options.rb', line 11

class RatesItemOptions < FriendlyShipping::ItemOptions
  PACKAGING_TYPES = {
    bag: { code: "BAG", description: "Bag" },
    bale: { code: "BAL", description: "Bale" },
    barrel: { code: "BAR", description: "Barrel" },
    bundle: { code: "BDL", description: "Bundle" },
    bin: { code: "BIN", description: "Bin" },
    box: { code: "BOX", description: "Box" },
    basket: { code: "BSK", description: "Basket" },
    bunch: { code: "BUN", description: "Bunch" },
    cabinet: { code: "CAB", description: "Cabinet" },
    can: { code: "CAN", description: "Can" },
    carrier: { code: "CAR", description: "Carrier" },
    case: { code: "CAS", description: "Case" },
    carboy: { code: "CBY", description: "Carboy" },
    container: { code: "CON", description: "Container" },
    crate: { code: "CRT", description: "Crate" },
    cask: { code: "CSK", description: "Cask" },
    carton: { code: "CTN", description: "Carton" },
    cylinder: { code: "CYL", description: "Cylinder" },
    drum: { code: "DRM", description: "Drum" },
    loose: { code: "LOO", description: "Loose" },
    other: { code: "OTH", description: "Other" },
    pail: { code: "PAL", description: "Pail" },
    pieces: { code: "PCS", description: "Pieces" },
    package: { code: "PKG", description: "Package" },
    pipe_line: { code: "PLN", description: "Pipe Line" },
    pallet: { code: "PLT", description: "Pallet" },
    rack: { code: "RCK", description: "Rack" },
    reel: { code: "REL", description: "Reel" },
    roll: { code: "ROL", description: "Roll" },
    skid: { code: "SKD", description: "Skid" },
    spool: { code: "SPL", description: "Spool" },
    tube: { code: "TBE", description: "Tube" },
    tank: { code: "TNK", description: "Tank" },
    totes: { code: "TOT", description: "Totes" },
    unit: { code: "UNT", description: "Unit" },
    van_pack: { code: "VPK", description: "Van Pack" },
    wrapped: { code: "WRP", description: "Wrapped" }
  }.freeze

  attr_reader :packaging_code,
              :packaging_description,
              :freight_class,
              :nmfc_code

  def initialize(
    packaging: :carton,
    freight_class: nil,
    nmfc_code: nil,
    **kwargs
  )
    @packaging_code = PACKAGING_TYPES.fetch(packaging).fetch(:code)
    @packaging_description = PACKAGING_TYPES.fetch(packaging).fetch(:description)
    @freight_class = freight_class
    @nmfc_code = nmfc_code
    super(**kwargs)
  end
end

#nmfc_codeObject (readonly)

Returns the value of attribute nmfc_code.



52
53
54
# File 'lib/friendly_shipping/services/ups_freight/rates_item_options.rb', line 52

def nmfc_code
  @nmfc_code
end

#nmfc_code The national motor freight corporation code for this item. Something like '13050 sub 4'(Thenationalmotorfreightcorporationcode) ⇒ Object (readonly)

Options for Items in a UPS Freight shipment



11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
# File 'lib/friendly_shipping/services/ups_freight/rates_item_options.rb', line 11

class RatesItemOptions < FriendlyShipping::ItemOptions
  PACKAGING_TYPES = {
    bag: { code: "BAG", description: "Bag" },
    bale: { code: "BAL", description: "Bale" },
    barrel: { code: "BAR", description: "Barrel" },
    bundle: { code: "BDL", description: "Bundle" },
    bin: { code: "BIN", description: "Bin" },
    box: { code: "BOX", description: "Box" },
    basket: { code: "BSK", description: "Basket" },
    bunch: { code: "BUN", description: "Bunch" },
    cabinet: { code: "CAB", description: "Cabinet" },
    can: { code: "CAN", description: "Can" },
    carrier: { code: "CAR", description: "Carrier" },
    case: { code: "CAS", description: "Case" },
    carboy: { code: "CBY", description: "Carboy" },
    container: { code: "CON", description: "Container" },
    crate: { code: "CRT", description: "Crate" },
    cask: { code: "CSK", description: "Cask" },
    carton: { code: "CTN", description: "Carton" },
    cylinder: { code: "CYL", description: "Cylinder" },
    drum: { code: "DRM", description: "Drum" },
    loose: { code: "LOO", description: "Loose" },
    other: { code: "OTH", description: "Other" },
    pail: { code: "PAL", description: "Pail" },
    pieces: { code: "PCS", description: "Pieces" },
    package: { code: "PKG", description: "Package" },
    pipe_line: { code: "PLN", description: "Pipe Line" },
    pallet: { code: "PLT", description: "Pallet" },
    rack: { code: "RCK", description: "Rack" },
    reel: { code: "REL", description: "Reel" },
    roll: { code: "ROL", description: "Roll" },
    skid: { code: "SKD", description: "Skid" },
    spool: { code: "SPL", description: "Spool" },
    tube: { code: "TBE", description: "Tube" },
    tank: { code: "TNK", description: "Tank" },
    totes: { code: "TOT", description: "Totes" },
    unit: { code: "UNT", description: "Unit" },
    van_pack: { code: "VPK", description: "Van Pack" },
    wrapped: { code: "WRP", description: "Wrapped" }
  }.freeze

  attr_reader :packaging_code,
              :packaging_description,
              :freight_class,
              :nmfc_code

  def initialize(
    packaging: :carton,
    freight_class: nil,
    nmfc_code: nil,
    **kwargs
  )
    @packaging_code = PACKAGING_TYPES.fetch(packaging).fetch(:code)
    @packaging_description = PACKAGING_TYPES.fetch(packaging).fetch(:description)
    @freight_class = freight_class
    @nmfc_code = nmfc_code
    super(**kwargs)
  end
end

#packaging_codeObject (readonly)

Returns the value of attribute packaging_code.



52
53
54
# File 'lib/friendly_shipping/services/ups_freight/rates_item_options.rb', line 52

def packaging_code
  @packaging_code
end

#packaging_descriptionObject (readonly)

Returns the value of attribute packaging_description.



52
53
54
# File 'lib/friendly_shipping/services/ups_freight/rates_item_options.rb', line 52

def packaging_description
  @packaging_description
end

Instance Method Details

#packaging How the item is packaged, one of the keys of `PACKAGING_TYPES`=(Howtheitemispackaged, oneofthekeysof`PACKAGING_TYPES` = (value)) ⇒ Object

Options for Items in a UPS Freight shipment



11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
# File 'lib/friendly_shipping/services/ups_freight/rates_item_options.rb', line 11

class RatesItemOptions < FriendlyShipping::ItemOptions
  PACKAGING_TYPES = {
    bag: { code: "BAG", description: "Bag" },
    bale: { code: "BAL", description: "Bale" },
    barrel: { code: "BAR", description: "Barrel" },
    bundle: { code: "BDL", description: "Bundle" },
    bin: { code: "BIN", description: "Bin" },
    box: { code: "BOX", description: "Box" },
    basket: { code: "BSK", description: "Basket" },
    bunch: { code: "BUN", description: "Bunch" },
    cabinet: { code: "CAB", description: "Cabinet" },
    can: { code: "CAN", description: "Can" },
    carrier: { code: "CAR", description: "Carrier" },
    case: { code: "CAS", description: "Case" },
    carboy: { code: "CBY", description: "Carboy" },
    container: { code: "CON", description: "Container" },
    crate: { code: "CRT", description: "Crate" },
    cask: { code: "CSK", description: "Cask" },
    carton: { code: "CTN", description: "Carton" },
    cylinder: { code: "CYL", description: "Cylinder" },
    drum: { code: "DRM", description: "Drum" },
    loose: { code: "LOO", description: "Loose" },
    other: { code: "OTH", description: "Other" },
    pail: { code: "PAL", description: "Pail" },
    pieces: { code: "PCS", description: "Pieces" },
    package: { code: "PKG", description: "Package" },
    pipe_line: { code: "PLN", description: "Pipe Line" },
    pallet: { code: "PLT", description: "Pallet" },
    rack: { code: "RCK", description: "Rack" },
    reel: { code: "REL", description: "Reel" },
    roll: { code: "ROL", description: "Roll" },
    skid: { code: "SKD", description: "Skid" },
    spool: { code: "SPL", description: "Spool" },
    tube: { code: "TBE", description: "Tube" },
    tank: { code: "TNK", description: "Tank" },
    totes: { code: "TOT", description: "Totes" },
    unit: { code: "UNT", description: "Unit" },
    van_pack: { code: "VPK", description: "Van Pack" },
    wrapped: { code: "WRP", description: "Wrapped" }
  }.freeze

  attr_reader :packaging_code,
              :packaging_description,
              :freight_class,
              :nmfc_code

  def initialize(
    packaging: :carton,
    freight_class: nil,
    nmfc_code: nil,
    **kwargs
  )
    @packaging_code = PACKAGING_TYPES.fetch(packaging).fetch(:code)
    @packaging_description = PACKAGING_TYPES.fetch(packaging).fetch(:description)
    @freight_class = freight_class
    @nmfc_code = nmfc_code
    super(**kwargs)
  end
end