Class: UspsApi::PackagingType

Inherits:
Object
  • Object
show all
Defined in:
lib/usps_api/models/packaging_type.rb

Overview

Used to specify USPS® packaging attributes that may affect postage. Can be used instead of a rate indicator. Either packagingType or rate indicator is required. * FLAT_RATE_ENVELOPE * LEGAL_FLAT_RATE_ENVELOPE * PADDED_FLAT_RATE_ENVELOPE * SM_FLAT_RATE_BOX * MD_FLAT_RATE_BOX * LG_FLAT_RATE_BOX * VARIABLE

Constant Summary collapse

PACKAGING_TYPE =
[
  # TODO: Write general description for FLAT_RATE_ENVELOPE
  FLAT_RATE_ENVELOPE = 'FLAT_RATE_ENVELOPE'.freeze,

  # TODO: Write general description for LEGAL_FLAT_RATE_ENVELOPE
  LEGAL_FLAT_RATE_ENVELOPE = 'LEGAL_FLAT_RATE_ENVELOPE'.freeze,

  # TODO: Write general description for PADDED_FLAT_RATE_ENVELOPE
  PADDED_FLAT_RATE_ENVELOPE = 'PADDED_FLAT_RATE_ENVELOPE'.freeze,

  # TODO: Write general description for SM_FLAT_RATE_BOX
  SM_FLAT_RATE_BOX = 'SM_FLAT_RATE_BOX'.freeze,

  # TODO: Write general description for MD_FLAT_RATE_BOX
  MD_FLAT_RATE_BOX = 'MD_FLAT_RATE_BOX'.freeze,

  # TODO: Write general description for LG_FLAT_RATE_BOX
  LG_FLAT_RATE_BOX = 'LG_FLAT_RATE_BOX'.freeze,

  # TODO: Write general description for VARIABLE
  VARIABLE = 'VARIABLE'.freeze
].freeze

Class Method Summary collapse

Class Method Details

.from_value(value, default_value = FLAT_RATE_ENVELOPE) ⇒ Object



42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
# File 'lib/usps_api/models/packaging_type.rb', line 42

def self.from_value(value, default_value = FLAT_RATE_ENVELOPE)
  return default_value if value.nil?

  str = value.to_s.strip

  case str.downcase
  when 'flat_rate_envelope' then FLAT_RATE_ENVELOPE
  when 'legal_flat_rate_envelope' then LEGAL_FLAT_RATE_ENVELOPE
  when 'padded_flat_rate_envelope' then PADDED_FLAT_RATE_ENVELOPE
  when 'sm_flat_rate_box' then SM_FLAT_RATE_BOX
  when 'md_flat_rate_box' then MD_FLAT_RATE_BOX
  when 'lg_flat_rate_box' then LG_FLAT_RATE_BOX
  when 'variable' then VARIABLE
  else
    default_value
  end
end

.validate(value) ⇒ Object



36
37
38
39
40
# File 'lib/usps_api/models/packaging_type.rb', line 36

def self.validate(value)
  return false if value.nil?

  PACKAGING_TYPE.include?(value)
end