DistelliServiceMarshallers 1.1 → 1.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.
- data/lib/distelli/servicemarshallers.rb +19 -5
- metadata +3 -3
@@ -37,12 +37,18 @@ module Distelli
|
|
37
37
|
return obj.strftime("%Y-%m-%dT%H:%M:%S%z")
|
38
38
|
end
|
39
39
|
|
40
|
+
params_set_name = '_'+obj.class.name.split('::').last+'__params'
|
40
41
|
type_map_name = '_'+obj.class.name.split('::').last+'__type_map'
|
42
|
+
params_set = obj.instance_variable_get('@'+params_set_name)
|
41
43
|
obj.instance_variables.each do |var|
|
42
44
|
var_name = var.to_s.delete('@')
|
43
|
-
if var_name == type_map_name
|
45
|
+
if var_name == type_map_name or var_name == params_set_name
|
44
46
|
next
|
45
47
|
end
|
48
|
+
if params_set != nil and params_set.include?(var_name)
|
49
|
+
next
|
50
|
+
end
|
51
|
+
|
46
52
|
val = obj.instance_variable_get(var)
|
47
53
|
if val.is_a?(Integer) or val.is_a?(Float) or val.is_a?(String) or val.is_a?(TrueClass) or val.is_a?(FalseClass)
|
48
54
|
data[var_name] = val
|
@@ -72,9 +78,9 @@ module Distelli
|
|
72
78
|
|
73
79
|
def marshall_error(error)
|
74
80
|
if not error.is_a?(Distelli::BaseException)
|
75
|
-
raise StandardError.new("Cannot marshall error: "+error.inspect)
|
81
|
+
raise StandardError.new("Cannot marshall error: "+error.inspect)
|
76
82
|
end
|
77
|
-
|
83
|
+
|
78
84
|
err_msg = error.err_msg
|
79
85
|
err_code = error.err_code
|
80
86
|
return '{"Error":{"code":"'+err_code.to_s+'", "message":"'+err_msg.to_s+'"}}'
|
@@ -208,7 +214,7 @@ module Distelli
|
|
208
214
|
|
209
215
|
def marshall_error(error)
|
210
216
|
if not error.is_a?(Distelli::BaseException)
|
211
|
-
raise StandardError.new("Cannot marshall error: "+error.inspect)
|
217
|
+
raise StandardError.new("Cannot marshall error: "+error.inspect)
|
212
218
|
end
|
213
219
|
|
214
220
|
err_msg = error.err_msg
|
@@ -396,16 +402,24 @@ module Distelli
|
|
396
402
|
|
397
403
|
private
|
398
404
|
def encode_obj_xml(obj)
|
405
|
+
params_set_name = '_'+obj.class.name.split('::').last+'__params'
|
406
|
+
params_set = obj.instance_variable_get('@'+params_set_name)
|
407
|
+
|
399
408
|
type_map_name = '_'+obj.class.name.split('::').last+'__type_map'
|
400
409
|
type_map = obj.instance_variable_get('@'+type_map_name)
|
410
|
+
|
401
411
|
xml_data = Array.new
|
402
412
|
|
403
413
|
obj.instance_variables.each do |var|
|
404
414
|
k = var.to_s.delete('@')
|
405
415
|
# puts "Var: "+var.to_s+" TMN: "+type_map_name.to_s
|
406
|
-
if k == type_map_name
|
416
|
+
if k == type_map_name or k == params_set_name
|
417
|
+
next
|
418
|
+
end
|
419
|
+
if params_set != nil and params_set.include?(k)
|
407
420
|
next
|
408
421
|
end
|
422
|
+
|
409
423
|
v = obj.instance_variable_get(var)
|
410
424
|
data_type = type_map[k]
|
411
425
|
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: DistelliServiceMarshallers
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: '1.
|
4
|
+
version: '1.2'
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-
|
12
|
+
date: 2012-12-27 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: DistelliServiceInterface
|
@@ -70,7 +70,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
70
70
|
version: '0'
|
71
71
|
requirements: []
|
72
72
|
rubyforge_project:
|
73
|
-
rubygems_version: 1.8.
|
73
|
+
rubygems_version: 1.8.24
|
74
74
|
signing_key:
|
75
75
|
specification_version: 3
|
76
76
|
summary: Distelli Service Marshaller classes
|