active_shipping 1.6.4 → 1.6.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: bf492f5f78fa92510f0f17837a59225eca7a8230
4
- data.tar.gz: d8609c76e64bb66b7ca522eab646f944b4684c90
3
+ metadata.gz: 67c1a999efbdf53ccf0184cb263ae02c952be3ad
4
+ data.tar.gz: a810e0262340b15fec6bafdf157197a3af7a4a7e
5
5
  SHA512:
6
- metadata.gz: 9e31884ad4afb2e2948f6f1558f174b7ca4c09b6428818ad555e3798b02e61321ea9a1de6664d4acc6969f4756c3e5c79e932773ef603b5b412a53e91fe776d5
7
- data.tar.gz: ebe8569df5061fa69e3a4fd36f281ce83c907dd5f8bc5c76a9b06c60c2d07050d21c2e925fd69d7637360edf8de80ee1b931a8df7ebcc9b1ccfbcd18b20e7a1c
6
+ metadata.gz: ff22888d9dcdfaa98693bda3b993a83bb1c2404f7b217e359ba5f97e35bf21b283a8b6bf483b82a9f743aa10c43940de3ba5ae29e86abb905997297103016592
7
+ data.tar.gz: 9d827efa63c84851a042498c57c2ab184807ac34d89deb2d7e822358d977fff9a5c0ac88c0bd97fa5c95f2454af966210ec1c35fb6ef4deb47059510ac070364
@@ -630,6 +630,9 @@ module ActiveShipping
630
630
 
631
631
  shipment_events = shipment_events.sort_by(&:time)
632
632
 
633
+ # USPS defines a delivery attempt with code 55
634
+ attempted_delivery_date = shipment_events.detect{ |shipment_event| shipment_event.type_code=="55" }.try(:time)
635
+
633
636
  if last_shipment = shipment_events.last
634
637
  status = last_shipment.status
635
638
  actual_delivery_date = last_shipment.time if last_shipment.delivered?
@@ -645,6 +648,7 @@ module ActiveShipping
645
648
  :tracking_number => tracking_number,
646
649
  :status => status,
647
650
  :actual_delivery_date => actual_delivery_date,
651
+ :attempted_delivery_date => attempted_delivery_date,
648
652
  :scheduled_delivery_date => scheduled_delivery
649
653
  )
650
654
  end
@@ -29,6 +29,9 @@ module ActiveShipping
29
29
  # @!attribute actual_delivery_date
30
30
  # @return [Date, Time]
31
31
  #
32
+ # @!attribute attempted_delivery_date
33
+ # @return [Date, Time]
34
+ #
32
35
  # @!attribute delivery_signature
33
36
  # @return [String]
34
37
  #
@@ -49,7 +52,7 @@ module ActiveShipping
49
52
  class TrackingResponse < Response
50
53
  attr_reader :carrier,:carrier_name,
51
54
  :status,:status_code, :status_description,
52
- :ship_time, :scheduled_delivery_date, :actual_delivery_date,
55
+ :ship_time, :scheduled_delivery_date, :actual_delivery_date, :attempted_delivery_date,
53
56
  :delivery_signature, :tracking_number, :shipment_events,
54
57
  :shipper_address, :origin, :destination
55
58
 
@@ -63,6 +66,7 @@ module ActiveShipping
63
66
  @ship_time = options[:ship_time]
64
67
  @scheduled_delivery_date = options[:scheduled_delivery_date]
65
68
  @actual_delivery_date = options[:actual_delivery_date]
69
+ @attempted_delivery_date = options[:attempted_delivery_date]
66
70
  @delivery_signature = options[:delivery_signature]
67
71
  @tracking_number = options[:tracking_number]
68
72
  @shipment_events = Array(options[:shipment_events])
@@ -96,5 +100,6 @@ module ActiveShipping
96
100
  alias_method :exception?, :has_exception?
97
101
  alias_method :scheduled_delivery_time, :scheduled_delivery_date
98
102
  alias_method :actual_delivery_time, :actual_delivery_date
103
+ alias_method :attempted_delivery_time, :attempted_delivery_date
99
104
  end
100
105
  end
@@ -1,3 +1,3 @@
1
1
  module ActiveShipping
2
- VERSION = "1.6.4"
2
+ VERSION = "1.6.5"
3
3
  end
@@ -19,6 +19,15 @@ class RemoteUSPSTest < Minitest::Test
19
19
  assert_equal Time.parse('2015-11-30 13:02:00 UTC'), response.actual_delivery_date
20
20
  end
21
21
 
22
+ def test_tracking_with_attempted_delivery
23
+ response = @carrier.find_tracking_info('9405515901606017103876', test: false)
24
+ assert response.success?, response.message
25
+ assert_equal 9,response.shipment_events.size
26
+ assert_equal 'DELIVERED', response.shipment_events.last.message
27
+ assert_equal Time.parse('2015-12-10 14:42:00 UTC'), response.attempted_delivery_date
28
+ assert_equal Time.parse('2015-12-24 10:51:00 UTC'), response.actual_delivery_date
29
+ end
30
+
22
31
  def test_tracking_with_bad_number
23
32
  assert_raises(ResponseError) do
24
33
  @carrier.find_tracking_info('abc123xyz', test: false)
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: active_shipping
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.6.4
4
+ version: 1.6.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - James MacAulay
@@ -11,7 +11,7 @@ authors:
11
11
  autorequire:
12
12
  bindir: bin
13
13
  cert_chain: []
14
- date: 2015-12-21 00:00:00.000000000 Z
14
+ date: 2016-01-08 00:00:00.000000000 Z
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
17
17
  name: quantified