Class: UspsApi::SummaryTrackingInformation

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

Overview

Summary tracking information for the requested tracking number.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from BaseModel

#check_for_conflict, #process_additional_properties, #process_array, #process_basic_value, #process_hash, #to_hash, #to_json

Constructor Details

#initialize(tracking_number: SKIP, expected_delivery_date: SKIP, expected_delivery_time: SKIP, guaranteed_delivery_date: SKIP, event_summaries: SKIP) ⇒ SummaryTrackingInformation

Returns a new instance of SummaryTrackingInformation.



62
63
64
65
66
67
68
69
70
# File 'lib/usps_api/models/summary_tracking_information.rb', line 62

def initialize(tracking_number: SKIP, expected_delivery_date: SKIP,
               expected_delivery_time: SKIP, guaranteed_delivery_date: SKIP,
               event_summaries: SKIP)
  @tracking_number = tracking_number unless tracking_number == SKIP
  @expected_delivery_date = expected_delivery_date unless expected_delivery_date == SKIP
  @expected_delivery_time = expected_delivery_time unless expected_delivery_time == SKIP
  @guaranteed_delivery_date = guaranteed_delivery_date unless guaranteed_delivery_date == SKIP
  @event_summaries = event_summaries unless event_summaries == SKIP
end

Instance Attribute Details

#event_summariesArray[String]

Summarized tracking event information for the requested tracking number in reverse chronological order

Returns:

  • (Array[String])


33
34
35
# File 'lib/usps_api/models/summary_tracking_information.rb', line 33

def event_summaries
  @event_summaries
end

#expected_delivery_dateDate

The expected delivery date.

Returns:

  • (Date)


18
19
20
# File 'lib/usps_api/models/summary_tracking_information.rb', line 18

def expected_delivery_date
  @expected_delivery_date
end

#expected_delivery_timeString

The expected delivery time.

Returns:

  • (String)


22
23
24
# File 'lib/usps_api/models/summary_tracking_information.rb', line 22

def expected_delivery_time
  @expected_delivery_time
end

#guaranteed_delivery_dateDate

Guaranteed Delivery Date: Global Express Mail only, certain countries provide a guarantee delivery For Example: April 15, 2020 Or 3 Business Days. Will only be provided when a package has not yet been delivered.

Returns:

  • (Date)


28
29
30
# File 'lib/usps_api/models/summary_tracking_information.rb', line 28

def guaranteed_delivery_date
  @guaranteed_delivery_date
end

#tracking_numberString

trackingNumber requested by the client.

Returns:

  • (String)


14
15
16
# File 'lib/usps_api/models/summary_tracking_information.rb', line 14

def tracking_number
  @tracking_number
end

Class Method Details

.from_hash(hash) ⇒ Object

Creates an instance of the object from a hash.



73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
# File 'lib/usps_api/models/summary_tracking_information.rb', line 73

def self.from_hash(hash)
  return nil unless hash

  # Extract variables from the hash.
  tracking_number =
    hash.key?('trackingNumber') ? hash['trackingNumber'] : SKIP
  expected_delivery_date =
    hash.key?('expectedDeliveryDate') ? hash['expectedDeliveryDate'] : SKIP
  expected_delivery_time =
    hash.key?('expectedDeliveryTime') ? hash['expectedDeliveryTime'] : SKIP
  guaranteed_delivery_date =
    hash.key?('guaranteedDeliveryDate') ? hash['guaranteedDeliveryDate'] : SKIP
  event_summaries =
    hash.key?('eventSummaries') ? hash['eventSummaries'] : SKIP

  # Create object from extracted values.
  SummaryTrackingInformation.new(tracking_number: tracking_number,
                                 expected_delivery_date: expected_delivery_date,
                                 expected_delivery_time: expected_delivery_time,
                                 guaranteed_delivery_date: guaranteed_delivery_date,
                                 event_summaries: event_summaries)
end

.namesObject

A mapping from model property names to API property names.



36
37
38
39
40
41
42
43
44
# File 'lib/usps_api/models/summary_tracking_information.rb', line 36

def self.names
  @_hash = {} if @_hash.nil?
  @_hash['tracking_number'] = 'trackingNumber'
  @_hash['expected_delivery_date'] = 'expectedDeliveryDate'
  @_hash['expected_delivery_time'] = 'expectedDeliveryTime'
  @_hash['guaranteed_delivery_date'] = 'guaranteedDeliveryDate'
  @_hash['event_summaries'] = 'eventSummaries'
  @_hash
end

.nullablesObject

An array for nullable fields



58
59
60
# File 'lib/usps_api/models/summary_tracking_information.rb', line 58

def self.nullables
  []
end

.optionalsObject

An array for optional fields



47
48
49
50
51
52
53
54
55
# File 'lib/usps_api/models/summary_tracking_information.rb', line 47

def self.optionals
  %w[
    tracking_number
    expected_delivery_date
    expected_delivery_time
    guaranteed_delivery_date
    event_summaries
  ]
end

.validate(value) ⇒ Object

Validates an instance of the object from a given value.

Parameters:



98
99
100
101
102
103
104
# File 'lib/usps_api/models/summary_tracking_information.rb', line 98

def self.validate(value)
  return true if value.instance_of? self

  return false unless value.instance_of? Hash

  true
end

Instance Method Details

#inspectObject

Provides a debugging-friendly string with detailed object information.



116
117
118
119
120
121
122
# File 'lib/usps_api/models/summary_tracking_information.rb', line 116

def inspect
  class_name = self.class.name.split('::').last
  "<#{class_name} tracking_number: #{@tracking_number.inspect}, expected_delivery_date:"\
  " #{@expected_delivery_date.inspect}, expected_delivery_time:"\
  " #{@expected_delivery_time.inspect}, guaranteed_delivery_date:"\
  " #{@guaranteed_delivery_date.inspect}, event_summaries: #{@event_summaries.inspect}>"
end

#to_sObject

Provides a human-readable string representation of the object.



107
108
109
110
111
112
113
# File 'lib/usps_api/models/summary_tracking_information.rb', line 107

def to_s
  class_name = self.class.name.split('::').last
  "<#{class_name} tracking_number: #{@tracking_number}, expected_delivery_date:"\
  " #{@expected_delivery_date}, expected_delivery_time: #{@expected_delivery_time},"\
  " guaranteed_delivery_date: #{@guaranteed_delivery_date}, event_summaries:"\
  " #{@event_summaries}>"
end