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.
@@ -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.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-10-04 00:00:00.000000000 Z
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.23
73
+ rubygems_version: 1.8.24
74
74
  signing_key:
75
75
  specification_version: 3
76
76
  summary: Distelli Service Marshaller classes