DistelliServiceMarshallers 1.1 → 1.2
Sign up to get free protection for your applications and to get access to all the features.
- 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
|