usps-imis-api 0.10.1 → 0.10.2
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 +4 -4
- data/lib/usps/imis/business_object.rb +1 -7
- data/lib/usps/imis/properties.rb +14 -14
- data/lib/usps/imis/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 1bacafdd40f6a1fc863575164f8a29ff135e3f16a4c0dfcc0e2aa6983c55208f
|
|
4
|
+
data.tar.gz: 37854e85dda3f088d48cfa0a9a399f7d1c5e979f74c4d0c57b462090c6bcf8ae
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 663df0b691ea1add42032df1cfd693667baafc2d39ddd01813c3ada66bf04c52b4bb1285a3d23f387fae17a8842f6be2f06299c88fbee7aff33f3a8aa39f02a2
|
|
7
|
+
data.tar.gz: 839207827b65431fdf565b35cb9c6c98bc4b75d0807ee852ea5bcbfe09c99234b784b77caba2af0e141f04b67afdeec6973e58184f6be3a598ddebcb969173a3
|
|
@@ -157,13 +157,7 @@ module Usps
|
|
|
157
157
|
# Skip unmodified fields
|
|
158
158
|
next unless fields.keys.include?(value['Name'])
|
|
159
159
|
|
|
160
|
-
|
|
161
|
-
new_value = fields[value['Name']]
|
|
162
|
-
if new_value.is_a?(String)
|
|
163
|
-
value['Value'] = new_value
|
|
164
|
-
else
|
|
165
|
-
value['Value']['$value'] = new_value
|
|
166
|
-
end
|
|
160
|
+
value['Value'] = Properties.wrap(fields[value['Name']])
|
|
167
161
|
|
|
168
162
|
# Add the completed field with the updated value
|
|
169
163
|
updated['Properties']['$values'] << value
|
data/lib/usps/imis/properties.rb
CHANGED
|
@@ -9,6 +9,19 @@ module Usps
|
|
|
9
9
|
#
|
|
10
10
|
def self.build(&) = new.build(&)
|
|
11
11
|
|
|
12
|
+
# Wrap value in the API-internal type structure
|
|
13
|
+
#
|
|
14
|
+
def self.wrap(value)
|
|
15
|
+
case value
|
|
16
|
+
when String then value
|
|
17
|
+
when Time, DateTime then value.strftime('%Y-%m-%dT%H:%I:%S')
|
|
18
|
+
when Integer then { '$type' => 'System.Int32', '$value' => value }
|
|
19
|
+
when true, false then { '$type' => 'System.Boolean', '$value' => value }
|
|
20
|
+
else
|
|
21
|
+
raise Errors::UnexpectedPropertyTypeError.from(value)
|
|
22
|
+
end
|
|
23
|
+
end
|
|
24
|
+
|
|
12
25
|
# Build the data for the Properties field
|
|
13
26
|
#
|
|
14
27
|
def build
|
|
@@ -29,22 +42,9 @@ module Usps
|
|
|
29
42
|
@properties << {
|
|
30
43
|
'$type' => 'Asi.Soa.Core.DataContracts.GenericPropertyData, Asi.Contracts',
|
|
31
44
|
'Name' => name,
|
|
32
|
-
'Value' => wrap(value)
|
|
45
|
+
'Value' => self.class.wrap(value)
|
|
33
46
|
}
|
|
34
47
|
end
|
|
35
|
-
|
|
36
|
-
private
|
|
37
|
-
|
|
38
|
-
def wrap(value)
|
|
39
|
-
case value
|
|
40
|
-
when String then value
|
|
41
|
-
when Time, DateTime then value.strftime('%Y-%m-%dT%H:%I:%S')
|
|
42
|
-
when Integer then { '$type' => 'System.Int32', '$value' => value }
|
|
43
|
-
when true, false then { '$type' => 'System.Boolean', '$value' => value }
|
|
44
|
-
else
|
|
45
|
-
raise Errors::UnexpectedPropertyTypeError.from(value)
|
|
46
|
-
end
|
|
47
|
-
end
|
|
48
48
|
end
|
|
49
49
|
end
|
|
50
50
|
end
|
data/lib/usps/imis/version.rb
CHANGED