Class: UspsApi::PackageLocation

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

Overview

This is the location of the packages ready for pick-up at the pickup address.

Constant Summary collapse

PACKAGE_LOCATION =
[
  # TODO: Write general description for FRONT_DOOR
  FRONT_DOOR = 'FRONT_DOOR'.freeze,

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

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

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

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

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

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

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

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

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

Class Method Summary collapse

Class Method Details

.from_value(value, default_value = FRONT_DOOR) ⇒ Object



48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
# File 'lib/usps_api/models/package_location.rb', line 48

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

  str = value.to_s.strip

  case str.downcase
  when 'front_door' then FRONT_DOOR
  when 'back_door' then BACK_DOOR
  when 'side_door' then SIDE_DOOR
  when 'knock_on_door' then KNOCK_ON_DOOR
  when 'mail_room' then MAIL_ROOM
  when 'office' then OFFICE
  when 'porch' then PORCH
  when 'reception' then RECEPTION
  when 'mailbox' then MAILBOX
  when 'other' then OTHER
  else
    default_value
  end
end

.validate(value) ⇒ Object



42
43
44
45
46
# File 'lib/usps_api/models/package_location.rb', line 42

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

  PACKAGE_LOCATION.include?(value)
end