docusign_esign 3.7.0.rc1 → 3.8.0.rc1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (55) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +8 -9
  3. data/docusign_esign-2.8.0.rc1.gem +0 -0
  4. data/lib/docusign_esign.rb +29 -1
  5. data/lib/docusign_esign/api/accounts_api.rb +65 -8
  6. data/lib/docusign_esign/api/bulk_envelopes_api.rb +22 -298
  7. data/lib/docusign_esign/api/connect_api.rb +196 -0
  8. data/lib/docusign_esign/api/envelopes_api.rb +1502 -78
  9. data/lib/docusign_esign/api/groups_api.rb +9 -9
  10. data/lib/docusign_esign/api/trust_service_providers_api.rb +232 -0
  11. data/lib/docusign_esign/api/users_api.rb +52 -0
  12. data/lib/docusign_esign/models/account_billing_plan.rb +11 -1
  13. data/lib/docusign_esign/models/account_information.rb +34 -4
  14. data/lib/docusign_esign/models/account_settings_information.rb +134 -1
  15. data/lib/docusign_esign/models/account_ui_settings.rb +20 -1
  16. data/lib/docusign_esign/models/bulk_send_batch_request.rb +184 -0
  17. data/lib/docusign_esign/models/bulk_send_batch_status.rb +21 -1
  18. data/lib/docusign_esign/models/complete_sign_hash_response.rb +7 -11
  19. data/lib/docusign_esign/models/complete_sign_request.rb +7 -11
  20. data/lib/docusign_esign/models/credential.rb +7 -11
  21. data/lib/docusign_esign/models/display_appliance_account.rb +224 -0
  22. data/lib/docusign_esign/models/display_appliance_info.rb +174 -0
  23. data/lib/docusign_esign/models/display_appliance_pdf.rb +174 -0
  24. data/lib/docusign_esign/models/display_appliance_signer_attachment.rb +174 -0
  25. data/lib/docusign_esign/models/document.rb +11 -1
  26. data/lib/docusign_esign/models/document_security_store.rb +7 -11
  27. data/lib/docusign_esign/models/document_update_info.rb +7 -11
  28. data/lib/docusign_esign/models/envelope_form_data.rb +13 -1
  29. data/lib/docusign_esign/models/external_claim.rb +7 -11
  30. data/lib/docusign_esign/models/group_brands.rb +207 -0
  31. data/lib/docusign_esign/models/payment_details.rb +10 -1
  32. data/lib/docusign_esign/models/payment_signer_values.rb +184 -0
  33. data/lib/docusign_esign/models/prefill_tabs.rb +222 -0
  34. data/lib/docusign_esign/models/revision.rb +7 -11
  35. data/lib/docusign_esign/models/seal.rb +8 -12
  36. data/lib/docusign_esign/models/sender.rb +7 -11
  37. data/lib/docusign_esign/models/sign_hash_document.rb +7 -11
  38. data/lib/docusign_esign/models/sign_hash_session_info_response.rb +7 -11
  39. data/lib/docusign_esign/models/sign_session_info_request.rb +7 -11
  40. data/lib/docusign_esign/models/signature_data_info.rb +7 -11
  41. data/lib/docusign_esign/models/signature_properties.rb +7 -11
  42. data/lib/docusign_esign/models/tab_account_settings.rb +20 -1
  43. data/lib/docusign_esign/models/tabs.rb +10 -1
  44. data/lib/docusign_esign/models/template_tabs.rb +10 -1
  45. data/lib/docusign_esign/models/time_stamp_field.rb +7 -11
  46. data/lib/docusign_esign/models/tsp_health_check_request.rb +7 -11
  47. data/lib/docusign_esign/models/tsp_health_check_status_description.rb +7 -11
  48. data/lib/docusign_esign/models/update_transaction_request.rb +7 -11
  49. data/lib/docusign_esign/models/update_transaction_response.rb +7 -11
  50. data/lib/docusign_esign/models/user.rb +7 -11
  51. data/lib/docusign_esign/models/user_info_response.rb +7 -11
  52. data/lib/docusign_esign/models/user_information.rb +11 -1
  53. data/lib/docusign_esign/version.rb +1 -1
  54. data/tests/Gemfile.lock +9 -5
  55. metadata +11 -2
@@ -16,6 +16,9 @@ module DocuSign_eSign
16
16
  # Reserved: TBD
17
17
  attr_accessor :apply_anchor_tabs
18
18
 
19
+ #
20
+ attr_accessor :assign_tabs_to_recipient_id
21
+
19
22
  #
20
23
  attr_accessor :display
21
24
 
@@ -87,6 +90,7 @@ module DocuSign_eSign
87
90
  def self.attribute_map
88
91
  {
89
92
  :'apply_anchor_tabs' => :'applyAnchorTabs',
93
+ :'assign_tabs_to_recipient_id' => :'assignTabsToRecipientId',
90
94
  :'display' => :'display',
91
95
  :'document_base64' => :'documentBase64',
92
96
  :'document_fields' => :'documentFields',
@@ -117,6 +121,7 @@ module DocuSign_eSign
117
121
  def self.swagger_types
118
122
  {
119
123
  :'apply_anchor_tabs' => :'String',
124
+ :'assign_tabs_to_recipient_id' => :'String',
120
125
  :'display' => :'String',
121
126
  :'document_base64' => :'String',
122
127
  :'document_fields' => :'Array<NameValue>',
@@ -155,6 +160,10 @@ module DocuSign_eSign
155
160
  self.apply_anchor_tabs = attributes[:'applyAnchorTabs']
156
161
  end
157
162
 
163
+ if attributes.has_key?(:'assignTabsToRecipientId')
164
+ self.assign_tabs_to_recipient_id = attributes[:'assignTabsToRecipientId']
165
+ end
166
+
158
167
  if attributes.has_key?(:'display')
159
168
  self.display = attributes[:'display']
160
169
  end
@@ -271,6 +280,7 @@ module DocuSign_eSign
271
280
  return true if self.equal?(o)
272
281
  self.class == o.class &&
273
282
  apply_anchor_tabs == o.apply_anchor_tabs &&
283
+ assign_tabs_to_recipient_id == o.assign_tabs_to_recipient_id &&
274
284
  display == o.display &&
275
285
  document_base64 == o.document_base64 &&
276
286
  document_fields == o.document_fields &&
@@ -305,7 +315,7 @@ module DocuSign_eSign
305
315
  # Calculates hash code according to all attributes.
306
316
  # @return [Fixnum] Hash code
307
317
  def hash
308
- [apply_anchor_tabs, display, document_base64, document_fields, document_id, encrypted_with_key_manager, file_extension, file_format_hint, html_definition, include_in_download, match_boxes, name, order, pages, password, pdf_form_field_option, remote_url, signer_must_acknowledge, signer_must_acknowledge_use_account_default, tabs, template_locked, template_required, transform_pdf_fields, uri].hash
318
+ [apply_anchor_tabs, assign_tabs_to_recipient_id, display, document_base64, document_fields, document_id, encrypted_with_key_manager, file_extension, file_format_hint, html_definition, include_in_download, match_boxes, name, order, pages, password, pdf_form_field_option, remote_url, signer_must_acknowledge, signer_must_acknowledge_use_account_default, tabs, template_locked, template_required, transform_pdf_fields, uri].hash
309
319
  end
310
320
 
311
321
  # Builds the object from hash
@@ -12,7 +12,6 @@ Generated by: https://github.com/swagger-api/swagger-codegen.git
12
12
  require 'date'
13
13
 
14
14
  module DocuSign_eSign
15
-
16
15
  class DocumentSecurityStore
17
16
  #
18
17
  attr_accessor :certificates
@@ -23,7 +22,6 @@ module DocuSign_eSign
23
22
  #
24
23
  attr_accessor :ocsps
25
24
 
26
-
27
25
  # Attribute mapping from ruby-style variable name to JSON key.
28
26
  def self.attribute_map
29
27
  {
@@ -48,7 +46,7 @@ module DocuSign_eSign
48
46
  return unless attributes.is_a?(Hash)
49
47
 
50
48
  # convert string to symbol for hash key
51
- attributes = attributes.each_with_object({}){|(k,v), h| h[k.to_sym] = v}
49
+ attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
52
50
 
53
51
  if attributes.has_key?(:'certificates')
54
52
  if (value = attributes[:'certificates']).is_a?(Array)
@@ -67,20 +65,19 @@ module DocuSign_eSign
67
65
  self.ocsps = value
68
66
  end
69
67
  end
70
-
71
68
  end
72
69
 
73
70
  # Show invalid properties with the reasons. Usually used together with valid?
74
- # @return Array for valid properies with the reasons
71
+ # @return Array for valid properties with the reasons
75
72
  def list_invalid_properties
76
73
  invalid_properties = Array.new
77
- return invalid_properties
74
+ invalid_properties
78
75
  end
79
76
 
80
77
  # Check to see if the all the properties in the model are valid
81
78
  # @return true if the model is valid
82
79
  def valid?
83
- return true
80
+ true
84
81
  end
85
82
 
86
83
  # Checks equality by comparing each attribute.
@@ -112,10 +109,10 @@ module DocuSign_eSign
112
109
  return nil unless attributes.is_a?(Hash)
113
110
  self.class.swagger_types.each_pair do |key, type|
114
111
  if type =~ /\AArray<(.*)>/i
115
- # check to ensure the input is an array given that the the attribute
112
+ # check to ensure the input is an array given that the attribute
116
113
  # is documented as an array but the input is not
117
114
  if attributes[self.class.attribute_map[key]].is_a?(Array)
118
- self.send("#{key}=", attributes[self.class.attribute_map[key]].map{ |v| _deserialize($1, v) } )
115
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
119
116
  end
120
117
  elsif !attributes[self.class.attribute_map[key]].nil?
121
118
  self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
@@ -197,7 +194,7 @@ module DocuSign_eSign
197
194
  # @return [Hash] Returns the value in the form of hash
198
195
  def _to_hash(value)
199
196
  if value.is_a?(Array)
200
- value.compact.map{ |v| _to_hash(v) }
197
+ value.compact.map { |v| _to_hash(v) }
201
198
  elsif value.is_a?(Hash)
202
199
  {}.tap do |hash|
203
200
  value.each { |k, v| hash[k] = _to_hash(v) }
@@ -210,5 +207,4 @@ module DocuSign_eSign
210
207
  end
211
208
 
212
209
  end
213
-
214
210
  end
@@ -12,7 +12,6 @@ Generated by: https://github.com/swagger-api/swagger-codegen.git
12
12
  require 'date'
13
13
 
14
14
  module DocuSign_eSign
15
-
16
15
  class DocumentUpdateInfo
17
16
  #
18
17
  attr_accessor :data
@@ -33,7 +32,6 @@ module DocuSign_eSign
33
32
 
34
33
  attr_accessor :time_stamp_field
35
34
 
36
-
37
35
  # Attribute mapping from ruby-style variable name to JSON key.
38
36
  def self.attribute_map
39
37
  {
@@ -66,7 +64,7 @@ module DocuSign_eSign
66
64
  return unless attributes.is_a?(Hash)
67
65
 
68
66
  # convert string to symbol for hash key
69
- attributes = attributes.each_with_object({}){|(k,v), h| h[k.to_sym] = v}
67
+ attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
70
68
 
71
69
  if attributes.has_key?(:'data')
72
70
  self.data = attributes[:'data']
@@ -97,20 +95,19 @@ module DocuSign_eSign
97
95
  if attributes.has_key?(:'timeStampField')
98
96
  self.time_stamp_field = attributes[:'timeStampField']
99
97
  end
100
-
101
98
  end
102
99
 
103
100
  # Show invalid properties with the reasons. Usually used together with valid?
104
- # @return Array for valid properies with the reasons
101
+ # @return Array for valid properties with the reasons
105
102
  def list_invalid_properties
106
103
  invalid_properties = Array.new
107
- return invalid_properties
104
+ invalid_properties
108
105
  end
109
106
 
110
107
  # Check to see if the all the properties in the model are valid
111
108
  # @return true if the model is valid
112
109
  def valid?
113
- return true
110
+ true
114
111
  end
115
112
 
116
113
  # Checks equality by comparing each attribute.
@@ -146,10 +143,10 @@ module DocuSign_eSign
146
143
  return nil unless attributes.is_a?(Hash)
147
144
  self.class.swagger_types.each_pair do |key, type|
148
145
  if type =~ /\AArray<(.*)>/i
149
- # check to ensure the input is an array given that the the attribute
146
+ # check to ensure the input is an array given that the attribute
150
147
  # is documented as an array but the input is not
151
148
  if attributes[self.class.attribute_map[key]].is_a?(Array)
152
- self.send("#{key}=", attributes[self.class.attribute_map[key]].map{ |v| _deserialize($1, v) } )
149
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
153
150
  end
154
151
  elsif !attributes[self.class.attribute_map[key]].nil?
155
152
  self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
@@ -231,7 +228,7 @@ module DocuSign_eSign
231
228
  # @return [Hash] Returns the value in the form of hash
232
229
  def _to_hash(value)
233
230
  if value.is_a?(Array)
234
- value.compact.map{ |v| _to_hash(v) }
231
+ value.compact.map { |v| _to_hash(v) }
235
232
  elsif value.is_a?(Hash)
236
233
  {}.tap do |hash|
237
234
  value.each { |k, v| hash[k] = _to_hash(v) }
@@ -244,5 +241,4 @@ module DocuSign_eSign
244
241
  end
245
242
 
246
243
  end
247
-
248
244
  end
@@ -22,6 +22,9 @@ module DocuSign_eSign
22
22
  #
23
23
  attr_accessor :form_data
24
24
 
25
+ #
26
+ attr_accessor :prefill_form_data
27
+
25
28
  #
26
29
  attr_accessor :recipient_form_data
27
30
 
@@ -37,6 +40,7 @@ module DocuSign_eSign
37
40
  :'email_subject' => :'emailSubject',
38
41
  :'envelope_id' => :'envelopeId',
39
42
  :'form_data' => :'formData',
43
+ :'prefill_form_data' => :'prefillFormData',
40
44
  :'recipient_form_data' => :'recipientFormData',
41
45
  :'sent_date_time' => :'sentDateTime',
42
46
  :'status' => :'status'
@@ -49,6 +53,7 @@ module DocuSign_eSign
49
53
  :'email_subject' => :'String',
50
54
  :'envelope_id' => :'String',
51
55
  :'form_data' => :'Array<FormDataItem>',
56
+ :'prefill_form_data' => :'Array<FormDataItem>',
52
57
  :'recipient_form_data' => :'Array<RecipientFormData>',
53
58
  :'sent_date_time' => :'String',
54
59
  :'status' => :'String'
@@ -77,6 +82,12 @@ module DocuSign_eSign
77
82
  end
78
83
  end
79
84
 
85
+ if attributes.has_key?(:'prefillFormData')
86
+ if (value = attributes[:'prefillFormData']).is_a?(Array)
87
+ self.prefill_form_data = value
88
+ end
89
+ end
90
+
80
91
  if attributes.has_key?(:'recipientFormData')
81
92
  if (value = attributes[:'recipientFormData']).is_a?(Array)
82
93
  self.recipient_form_data = value
@@ -113,6 +124,7 @@ module DocuSign_eSign
113
124
  email_subject == o.email_subject &&
114
125
  envelope_id == o.envelope_id &&
115
126
  form_data == o.form_data &&
127
+ prefill_form_data == o.prefill_form_data &&
116
128
  recipient_form_data == o.recipient_form_data &&
117
129
  sent_date_time == o.sent_date_time &&
118
130
  status == o.status
@@ -127,7 +139,7 @@ module DocuSign_eSign
127
139
  # Calculates hash code according to all attributes.
128
140
  # @return [Fixnum] Hash code
129
141
  def hash
130
- [email_subject, envelope_id, form_data, recipient_form_data, sent_date_time, status].hash
142
+ [email_subject, envelope_id, form_data, prefill_form_data, recipient_form_data, sent_date_time, status].hash
131
143
  end
132
144
 
133
145
  # Builds the object from hash
@@ -12,7 +12,6 @@ Generated by: https://github.com/swagger-api/swagger-codegen.git
12
12
  require 'date'
13
13
 
14
14
  module DocuSign_eSign
15
-
16
15
  class ExternalClaim
17
16
  #
18
17
  attr_accessor :acquired_time
@@ -26,7 +25,6 @@ module DocuSign_eSign
26
25
  # Specifies the value of the tab.
27
26
  attr_accessor :value
28
27
 
29
-
30
28
  # Attribute mapping from ruby-style variable name to JSON key.
31
29
  def self.attribute_map
32
30
  {
@@ -53,7 +51,7 @@ module DocuSign_eSign
53
51
  return unless attributes.is_a?(Hash)
54
52
 
55
53
  # convert string to symbol for hash key
56
- attributes = attributes.each_with_object({}){|(k,v), h| h[k.to_sym] = v}
54
+ attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
57
55
 
58
56
  if attributes.has_key?(:'acquiredTime')
59
57
  self.acquired_time = attributes[:'acquiredTime']
@@ -70,20 +68,19 @@ module DocuSign_eSign
70
68
  if attributes.has_key?(:'value')
71
69
  self.value = attributes[:'value']
72
70
  end
73
-
74
71
  end
75
72
 
76
73
  # Show invalid properties with the reasons. Usually used together with valid?
77
- # @return Array for valid properies with the reasons
74
+ # @return Array for valid properties with the reasons
78
75
  def list_invalid_properties
79
76
  invalid_properties = Array.new
80
- return invalid_properties
77
+ invalid_properties
81
78
  end
82
79
 
83
80
  # Check to see if the all the properties in the model are valid
84
81
  # @return true if the model is valid
85
82
  def valid?
86
- return true
83
+ true
87
84
  end
88
85
 
89
86
  # Checks equality by comparing each attribute.
@@ -116,10 +113,10 @@ module DocuSign_eSign
116
113
  return nil unless attributes.is_a?(Hash)
117
114
  self.class.swagger_types.each_pair do |key, type|
118
115
  if type =~ /\AArray<(.*)>/i
119
- # check to ensure the input is an array given that the the attribute
116
+ # check to ensure the input is an array given that the attribute
120
117
  # is documented as an array but the input is not
121
118
  if attributes[self.class.attribute_map[key]].is_a?(Array)
122
- self.send("#{key}=", attributes[self.class.attribute_map[key]].map{ |v| _deserialize($1, v) } )
119
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
123
120
  end
124
121
  elsif !attributes[self.class.attribute_map[key]].nil?
125
122
  self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
@@ -201,7 +198,7 @@ module DocuSign_eSign
201
198
  # @return [Hash] Returns the value in the form of hash
202
199
  def _to_hash(value)
203
200
  if value.is_a?(Array)
204
- value.compact.map{ |v| _to_hash(v) }
201
+ value.compact.map { |v| _to_hash(v) }
205
202
  elsif value.is_a?(Hash)
206
203
  {}.tap do |hash|
207
204
  value.each { |k, v| hash[k] = _to_hash(v) }
@@ -214,5 +211,4 @@ module DocuSign_eSign
214
211
  end
215
212
 
216
213
  end
217
-
218
214
  end
@@ -0,0 +1,207 @@
1
+ =begin
2
+ #DocuSign REST API
3
+
4
+ #The DocuSign REST API provides you with a powerful, convenient, and simple Web services API for interacting with DocuSign.
5
+
6
+ OpenAPI spec version: v2.1
7
+ Contact: devcenter@docusign.com
8
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
9
+
10
+ =end
11
+
12
+ require 'date'
13
+
14
+ module DocuSign_eSign
15
+ #
16
+ class GroupBrands
17
+ # The brand seen by envelope recipients when a brand is not explicitly set.
18
+ attr_accessor :recipient_brand_id_default
19
+
20
+ # The brand seen by envelope senders when a brand is not explicitly set.
21
+ attr_accessor :sender_brand_id_default
22
+
23
+ # The list of brands.
24
+ attr_accessor :brand_options
25
+
26
+ # Attribute mapping from ruby-style variable name to JSON key.
27
+ def self.attribute_map
28
+ {
29
+ :'recipient_brand_id_default' => :'recipientBrandIdDefault',
30
+ :'sender_brand_id_default' => :'senderBrandIdDefault',
31
+ :'brand_options' => :'brandOptions'
32
+ }
33
+ end
34
+
35
+ # Attribute type mapping.
36
+ def self.swagger_types
37
+ {
38
+ :'recipient_brand_id_default' => :'String',
39
+ :'sender_brand_id_default' => :'String',
40
+ :'brand_options' => :'Array<Brand>'
41
+ }
42
+ end
43
+
44
+ # Initializes the object
45
+ # @param [Hash] attributes Model attributes in the form of hash
46
+ def initialize(attributes = {})
47
+ return unless attributes.is_a?(Hash)
48
+
49
+ # convert string to symbol for hash key
50
+ attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
51
+
52
+ if attributes.has_key?(:'recipientBrandIdDefault')
53
+ self.recipient_brand_id_default = attributes[:'recipientBrandIdDefault']
54
+ end
55
+
56
+ if attributes.has_key?(:'senderBrandIdDefault')
57
+ self.sender_brand_id_default = attributes[:'senderBrandIdDefault']
58
+ end
59
+
60
+ if attributes.has_key?(:'brandOptions')
61
+ if (value = attributes[:'brandOptions']).is_a?(Array)
62
+ self.brand_options = value
63
+ end
64
+ end
65
+ end
66
+
67
+ # Show invalid properties with the reasons. Usually used together with valid?
68
+ # @return Array for valid properties with the reasons
69
+ def list_invalid_properties
70
+ invalid_properties = Array.new
71
+ invalid_properties
72
+ end
73
+
74
+ # Check to see if the all the properties in the model are valid
75
+ # @return true if the model is valid
76
+ def valid?
77
+ true
78
+ end
79
+
80
+ # Checks equality by comparing each attribute.
81
+ # @param [Object] Object to be compared
82
+ def ==(o)
83
+ return true if self.equal?(o)
84
+ self.class == o.class &&
85
+ recipient_brand_id_default == o.recipient_brand_id_default &&
86
+ sender_brand_id_default == o.sender_brand_id_default &&
87
+ brand_options == o.brand_options
88
+ end
89
+
90
+ # @see the `==` method
91
+ # @param [Object] Object to be compared
92
+ def eql?(o)
93
+ self == o
94
+ end
95
+
96
+ # Calculates hash code according to all attributes.
97
+ # @return [Fixnum] Hash code
98
+ def hash
99
+ [recipient_brand_id_default, sender_brand_id_default, brand_options].hash
100
+ end
101
+
102
+ # Builds the object from hash
103
+ # @param [Hash] attributes Model attributes in the form of hash
104
+ # @return [Object] Returns the model itself
105
+ def build_from_hash(attributes)
106
+ return nil unless attributes.is_a?(Hash)
107
+ self.class.swagger_types.each_pair do |key, type|
108
+ if type =~ /\AArray<(.*)>/i
109
+ # check to ensure the input is an array given that the attribute
110
+ # is documented as an array but the input is not
111
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
112
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
113
+ end
114
+ elsif !attributes[self.class.attribute_map[key]].nil?
115
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
116
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
117
+ end
118
+
119
+ self
120
+ end
121
+
122
+ # Deserializes the data based on type
123
+ # @param string type Data type
124
+ # @param string value Value to be deserialized
125
+ # @return [Object] Deserialized data
126
+ def _deserialize(type, value)
127
+ case type.to_sym
128
+ when :DateTime
129
+ DateTime.parse(value)
130
+ when :Date
131
+ Date.parse(value)
132
+ when :String
133
+ value.to_s
134
+ when :Integer
135
+ value.to_i
136
+ when :Float
137
+ value.to_f
138
+ when :BOOLEAN
139
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
140
+ true
141
+ else
142
+ false
143
+ end
144
+ when :Object
145
+ # generic object (usually a Hash), return directly
146
+ value
147
+ when /\AArray<(?<inner_type>.+)>\z/
148
+ inner_type = Regexp.last_match[:inner_type]
149
+ value.map { |v| _deserialize(inner_type, v) }
150
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
151
+ k_type = Regexp.last_match[:k_type]
152
+ v_type = Regexp.last_match[:v_type]
153
+ {}.tap do |hash|
154
+ value.each do |k, v|
155
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
156
+ end
157
+ end
158
+ else # model
159
+ temp_model = DocuSign_eSign.const_get(type).new
160
+ temp_model.build_from_hash(value)
161
+ end
162
+ end
163
+
164
+ # Returns the string representation of the object
165
+ # @return [String] String presentation of the object
166
+ def to_s
167
+ to_hash.to_s
168
+ end
169
+
170
+ # to_body is an alias to to_hash (backward compatibility)
171
+ # @return [Hash] Returns the object in the form of hash
172
+ def to_body
173
+ to_hash
174
+ end
175
+
176
+ # Returns the object in the form of hash
177
+ # @return [Hash] Returns the object in the form of hash
178
+ def to_hash
179
+ hash = {}
180
+ self.class.attribute_map.each_pair do |attr, param|
181
+ value = self.send(attr)
182
+ next if value.nil?
183
+ hash[param] = _to_hash(value)
184
+ end
185
+ hash
186
+ end
187
+
188
+ # Outputs non-array value in the form of hash
189
+ # For object, use to_hash. Otherwise, just return the value
190
+ # @param [Object] value Any valid value
191
+ # @return [Hash] Returns the value in the form of hash
192
+ def _to_hash(value)
193
+ if value.is_a?(Array)
194
+ value.compact.map { |v| _to_hash(v) }
195
+ elsif value.is_a?(Hash)
196
+ {}.tap do |hash|
197
+ value.each { |k, v| hash[k] = _to_hash(v) }
198
+ end
199
+ elsif value.respond_to? :to_hash
200
+ value.to_hash
201
+ else
202
+ value
203
+ end
204
+ end
205
+
206
+ end
207
+ end