ms_rest 0.6.4 → 0.7.0
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/CHANGELOG.md +3 -0
- data/README.md +1 -1
- data/lib/ms_rest/jsonable.rb +7 -4
- data/lib/ms_rest/serialization.rb +27 -21
- data/lib/ms_rest/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 6002241e297f352e09b8b7e66ccccf2c6dd11817
|
4
|
+
data.tar.gz: f4326806d9a7ef67e857d06ef40f1dc54c6fa418
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 3b9dda5a36648483b1ba2c4c12de38e3942ce32abe051b7f997c1742808b28115431ead4b5e20000a9b61fad3cba7b454957a0494bc8248ff2d3d2bb528ffaac
|
7
|
+
data.tar.gz: 97abece3a32d63a121cd3a47656af95045efe319e12efca496939a0a8d6444aaa42c297a89cfda64db8117b06bcf2cebaa26225b5db57db2bc475f545c22fc1f
|
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,6 @@
|
|
1
|
+
##2017.06.30 ms_rest version 0.7.0
|
2
|
+
* [Breaking Change] Refactored serialization & deserialization logic to remove client from the process.[Issue #610](https://github.com/Azure/azure-sdk-for-ruby/issues/610) [PR #799](https://github.com/Azure/azure-sdk-for-ruby/pull/799)
|
3
|
+
|
1
4
|
##2017.04.04 ms_rest version 0.6.4
|
2
5
|
* Bug fix to handle new faraday version. [Issue #182](https://github.com/Azure/vagrant-azure/issues/182)
|
3
6
|
|
data/README.md
CHANGED
@@ -48,7 +48,7 @@ To start working on the gem the only additional dev dependency is required - rsp
|
|
48
48
|
Reference it in the gemfile and also add this line to your client's gemspec file:
|
49
49
|
|
50
50
|
```ruby
|
51
|
-
spec.add_runtime_dependency 'ms_rest', '~> 0.
|
51
|
+
spec.add_runtime_dependency 'ms_rest', '~> 0.7.0'
|
52
52
|
```
|
53
53
|
Don't forget to correct the version.
|
54
54
|
|
data/lib/ms_rest/jsonable.rb
CHANGED
@@ -9,10 +9,12 @@ module MsRest
|
|
9
9
|
|
10
10
|
#
|
11
11
|
# Serialize the object to JSON
|
12
|
+
# @param options [Hash] hash map contains options to convert to json.
|
12
13
|
# @return [String] JSON serialized version of the object
|
13
14
|
#
|
14
|
-
def to_json
|
15
|
-
|
15
|
+
def to_json(options = nil)
|
16
|
+
mapper = self.class.mapper if options.nil? || !options.key?(:mapper)
|
17
|
+
serialize(mapper, self)
|
16
18
|
end
|
17
19
|
|
18
20
|
#
|
@@ -20,8 +22,9 @@ module MsRest
|
|
20
22
|
# @param json [String] JSON string representation of the object
|
21
23
|
# @return [JSONable] object built from json input
|
22
24
|
#
|
23
|
-
def from_json(json)
|
24
|
-
|
25
|
+
def from_json(json, mapper = nil)
|
26
|
+
mapper = self.class.mapper if mapper.nil?
|
27
|
+
deserialize(mapper, json)
|
25
28
|
end
|
26
29
|
|
27
30
|
#
|
@@ -15,8 +15,8 @@ module MsRest
|
|
15
15
|
# @param response_body [Hash] Ruby Hash object to deserialize.
|
16
16
|
# @param object_name [String] Name of the deserialized object.
|
17
17
|
#
|
18
|
-
def deserialize(mapper, response_body
|
19
|
-
build_serializer.deserialize(mapper, response_body
|
18
|
+
def deserialize(mapper, response_body)
|
19
|
+
build_serializer.deserialize(mapper, response_body)
|
20
20
|
end
|
21
21
|
|
22
22
|
#
|
@@ -26,8 +26,8 @@ module MsRest
|
|
26
26
|
# @param object [Object] Ruby object to serialize.
|
27
27
|
# @param object_name [String] Name of the serialized object.
|
28
28
|
#
|
29
|
-
def serialize(mapper, object
|
30
|
-
build_serializer.serialize(mapper, object
|
29
|
+
def serialize(mapper, object)
|
30
|
+
build_serializer.serialize(mapper, object)
|
31
31
|
end
|
32
32
|
|
33
33
|
private
|
@@ -54,10 +54,10 @@ module MsRest
|
|
54
54
|
# @param response_body [Hash] Ruby Hash object to deserialize.
|
55
55
|
# @param object_name [String] Name of the deserialized object.
|
56
56
|
#
|
57
|
-
def deserialize(mapper, response_body
|
57
|
+
def deserialize(mapper, response_body)
|
58
58
|
return response_body if response_body.nil?
|
59
59
|
|
60
|
-
object_name = mapper[:serialized_name]
|
60
|
+
object_name = mapper[:serialized_name]
|
61
61
|
mapper_type = mapper[:type][:name]
|
62
62
|
|
63
63
|
if !mapper_type.match(/^(Number|Double|ByteArray|Boolean|Date|DateTime|DateTimeRfc1123|UnixTime|Enum|String|Object|Stream)$/i).nil?
|
@@ -131,7 +131,7 @@ module MsRest
|
|
131
131
|
|
132
132
|
result = Hash.new
|
133
133
|
response_body.each do |key, val|
|
134
|
-
result[key] = deserialize(mapper[:type][:value], val
|
134
|
+
result[key] = deserialize(mapper[:type][:value], val)
|
135
135
|
end
|
136
136
|
result
|
137
137
|
end
|
@@ -177,7 +177,7 @@ module MsRest
|
|
177
177
|
levels.each { |level| sub_response_body = sub_response_body.nil? ? nil : sub_response_body[level.to_s] }
|
178
178
|
end
|
179
179
|
|
180
|
-
result.instance_variable_set("@#{key}", deserialize(val, sub_response_body
|
180
|
+
result.instance_variable_set("@#{key}", deserialize(val, sub_response_body)) unless sub_response_body.nil?
|
181
181
|
end
|
182
182
|
end
|
183
183
|
result
|
@@ -199,7 +199,7 @@ module MsRest
|
|
199
199
|
|
200
200
|
result = []
|
201
201
|
response_body.each do |element|
|
202
|
-
result.push(deserialize(mapper[:type][:element], element
|
202
|
+
result.push(deserialize(mapper[:type][:element], element))
|
203
203
|
end
|
204
204
|
|
205
205
|
result
|
@@ -212,8 +212,8 @@ module MsRest
|
|
212
212
|
# @param object [Object] Ruby object to serialize.
|
213
213
|
# @param object_name [String] Name of the serialized object.
|
214
214
|
#
|
215
|
-
def serialize(mapper, object
|
216
|
-
object_name = mapper[:serialized_name]
|
215
|
+
def serialize(mapper, object)
|
216
|
+
object_name = mapper[:serialized_name]
|
217
217
|
|
218
218
|
# Set defaults
|
219
219
|
unless mapper[:default_value].nil?
|
@@ -297,7 +297,7 @@ module MsRest
|
|
297
297
|
value.validate
|
298
298
|
end
|
299
299
|
|
300
|
-
payload[key] = serialize(mapper[:type][:value], value
|
300
|
+
payload[key] = serialize(mapper[:type][:value], value)
|
301
301
|
end
|
302
302
|
payload
|
303
303
|
end
|
@@ -339,7 +339,7 @@ module MsRest
|
|
339
339
|
next
|
340
340
|
end
|
341
341
|
|
342
|
-
sub_payload = serialize(value, instance_variable
|
342
|
+
sub_payload = serialize(value, instance_variable)
|
343
343
|
|
344
344
|
unless value[:serialized_name].to_s.include? '.'
|
345
345
|
payload[value[:serialized_name].to_s] = sub_payload unless sub_payload.nil?
|
@@ -380,7 +380,7 @@ module MsRest
|
|
380
380
|
if !element.nil? && element.respond_to?(:validate)
|
381
381
|
element.validate
|
382
382
|
end
|
383
|
-
payload.push(serialize(mapper[:type][:element], element
|
383
|
+
payload.push(serialize(mapper[:type][:element], element))
|
384
384
|
end
|
385
385
|
payload
|
386
386
|
end
|
@@ -391,13 +391,19 @@ module MsRest
|
|
391
391
|
# @param model_name [String] Name of the model to retrieve.
|
392
392
|
#
|
393
393
|
def get_model(model_name)
|
394
|
-
|
395
|
-
|
396
|
-
|
397
|
-
|
398
|
-
|
399
|
-
|
400
|
-
|
394
|
+
begin
|
395
|
+
consts = @context.class.to_s.split('::')
|
396
|
+
end_index = 0
|
397
|
+
if consts.any?{ |const| const == 'Models' }
|
398
|
+
# context is a model class
|
399
|
+
end_index = -2
|
400
|
+
else
|
401
|
+
# context is a service, so find the model class
|
402
|
+
end_index = -1
|
403
|
+
end
|
404
|
+
Object.const_get(consts[0...end_index].join('::') + "::Models::#{model_name}")
|
405
|
+
rescue
|
406
|
+
Object.const_get("MsRestAzure::#{model_name}")
|
401
407
|
end
|
402
408
|
end
|
403
409
|
|
data/lib/ms_rest/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ms_rest
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.7.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Microsoft Corporation
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-
|
11
|
+
date: 2017-06-30 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|