dhl_ecommerce_api 0.1.14 → 0.1.15

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 492758b132e6441215e38216c105c1241ee0584dcc68d8f21e71ed8d2eaec015
4
- data.tar.gz: 648a87f2e040b5f8eb54d844f7aff3a8dc326e70add5371df22c04c6edc2b0ea
3
+ metadata.gz: ddc6328d0bd244a84d7aee00a96890d1d7003d227fc46357312f7f7bba3da896
4
+ data.tar.gz: 3d0359ea889a9e13099995118cb3a8b16f5d5f169ca4133e09c4a1690d0f70e2
5
5
  SHA512:
6
- metadata.gz: 4a1feb6c352bffaa41d7c85d6480771587e43d6d9ea80a923e470814e9f9ff1c46313059ef0eda5690d3c818f0295b83ad315e3429e24cfad21aa7aaf755f858
7
- data.tar.gz: 7141c9a7f54c3496c89c8bf33fda2a0a53b90dac2214bf8844850ea4538096a1f1eb22cb52d283495239b39b13b991b3a2f64651e8930c6102f05dcd09cc583d
6
+ metadata.gz: 19111a620dab055825fec90fad626d3ec902712b2a8b58b494cd1130501b6fb315f252c724200bd20402139605f011353909984bdfe2a9dbdf20c57358667b6d
7
+ data.tar.gz: e8399ea8631e95c336c9c86abf7c608be5013b5ea1d51219e7561c47a05bc4af409c4b013512500522b2b4418fe935a63e1e231785bd6dc0458747d8ee485fab
data/Gemfile.lock CHANGED
@@ -1,14 +1,14 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- dhl_ecommerce_api (0.1.13)
4
+ dhl_ecommerce_api (0.1.14)
5
5
  activeresource (>= 4.1.0, < 6.0.0)
6
6
 
7
7
  GEM
8
8
  remote: https://rubygems.org/
9
9
  specs:
10
- activemodel (6.1.4.6)
11
- activesupport (= 6.1.4.6)
10
+ activemodel (6.1.5)
11
+ activesupport (= 6.1.5)
12
12
  activemodel-serializers-xml (1.0.2)
13
13
  activemodel (> 5.x)
14
14
  activesupport (> 5.x)
@@ -17,7 +17,7 @@ GEM
17
17
  activemodel (>= 5.0, < 7)
18
18
  activemodel-serializers-xml (~> 1.0)
19
19
  activesupport (>= 5.0, < 7)
20
- activesupport (6.1.4.6)
20
+ activesupport (6.1.5)
21
21
  concurrent-ruby (~> 1.0, >= 1.0.2)
22
22
  i18n (>= 1.6, < 2)
23
23
  minitest (>= 5.1)
@@ -0,0 +1,15 @@
1
+ module DHLEcommerceAPI
2
+ # Component item
3
+ class Shipment::ShipmentItem < Base
4
+ self.element_name = ""
5
+
6
+ def initialize(attributes = {}, persisted = false)
7
+ status = attributes["response_status"]
8
+ if status.present? && status["code"] != "200"
9
+ error_messages = status["message_details"].map{|err| err["message_detail"]}
10
+ handle_errors(status["code"], error_messages)
11
+ end
12
+ super
13
+ end
14
+ end
15
+ end
@@ -27,16 +27,21 @@ module DHLEcommerceAPI
27
27
  if code == "200"
28
28
  @persisted = true
29
29
  elsif code == "204"
30
- # handle partial success
31
30
  @persisted = false
32
31
  else
33
32
  error_messages = response_status["messageDetails"].map{|err| err["messageDetail"]}
34
33
  handle_errors(code, error_messages)
35
34
  @persisted = false
36
35
  end
37
-
36
+
37
+ # service level
38
38
  new_attributes = attributes.merge({response: JSON.parse(response.body)})
39
-
39
+
40
+ # object level
41
+ new_attributes["shipmentItems"] = new_attributes["shipmentItems"].map do |item|
42
+ item.attributes.merge(bd["shipmentItems"].find{|i| i["shipmentID"] == item.shipmentID})
43
+ end
44
+
40
45
  load(new_attributes, true, @persisted)
41
46
  end
42
47
  end
@@ -94,7 +99,7 @@ shipment_with_pickup_params = {
94
99
  },
95
100
  "shipmentItems": [
96
101
  {
97
- "shipmentID": "MYPTC0083",
102
+ "shipmentID": "MYPTC0090",
98
103
  "packageDesc": "Laptop Sleeve",
99
104
  "totalWeight": 500,
100
105
  "totalWeightUOM": "G",
@@ -138,6 +143,50 @@ shipment_with_pickup_params = {
138
143
  "email": "hello@example.com"
139
144
  }
140
145
  },
146
+ {
147
+ "shipmentID": "MYPTC0089",
148
+ "totalWeight": 500,
149
+ "totalWeightUOM": "G",
150
+ "dimensionUOM": "CM",
151
+ "height": nil,
152
+ "length": nil,
153
+ "width": nil,
154
+ "productCode": "PDO",
155
+ "codValue": nil,
156
+ "insuranceValue": nil,
157
+ "totalValue": 300,
158
+ "currency": "MYR",
159
+ "remarks": nil,
160
+ "isRoutingInfoRequired": "Y",
161
+ "consigneeAddress": {
162
+ "companyName": "Sleeve Company",
163
+ "name": "Sleeve Sdn Bhd",
164
+ "address1": "No. 3, Jalan Bangsar, Kampung Haji Abdullah Hukum",
165
+ "address2": nil,
166
+ "address3": nil,
167
+ "city": "Kuala Lumpur",
168
+ "state": "Kuala Lumpur",
169
+ "district": nil,
170
+ "country": "MY",
171
+ "postCode": "59200",
172
+ "phone": "0169822645",
173
+ "email": nil
174
+ },
175
+ "returnMode": "03",
176
+ "returnAddress": {
177
+ "companyName": "Pickup From Company",
178
+ "name": "Pickup From Name",
179
+ "address1": "Holistic Pharmacy PostCo, 55, Jalan Landak",
180
+ "address2": "",
181
+ "address3": "",
182
+ "city": " Kuala Lumpur",
183
+ "state": " Kuala Lumpur",
184
+ "postCode": "55100",
185
+ "country": "MY",
186
+ "phone": "0123456789",
187
+ "email": "hello@example.com"
188
+ }
189
+ },
141
190
  ]
142
191
  }
143
192
  =end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module DHLEcommerceAPI
4
- VERSION = "0.1.14"
4
+ VERSION = "0.1.15"
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dhl_ecommerce_api
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.14
4
+ version: 0.1.15
5
5
  platform: ruby
6
6
  authors:
7
7
  - Er Whey
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2022-03-16 00:00:00.000000000 Z
11
+ date: 2022-03-17 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activeresource
@@ -141,6 +141,7 @@ files:
141
141
  - lib/dhl_ecommerce_api/resources/event.rb
142
142
  - lib/dhl_ecommerce_api/resources/pickup.rb
143
143
  - lib/dhl_ecommerce_api/resources/shipment.rb
144
+ - lib/dhl_ecommerce_api/resources/shipment/shipment_item.rb
144
145
  - lib/dhl_ecommerce_api/resources/tracking.rb
145
146
  - lib/dhl_ecommerce_api/version.rb
146
147
  - sig/dhl_ecommerce_api.rbs