docusign_esign 3.1.0.rc2 → 3.2.0.rc1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (51) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +6 -0
  3. data/Gemfile +1 -1
  4. data/Gemfile.lock +73 -0
  5. data/lib/docusign_esign.rb +7 -1
  6. data/lib/docusign_esign/api/.DS_Store +0 -0
  7. data/lib/docusign_esign/api/accounts_api.rb +0 -49
  8. data/lib/docusign_esign/api/billing_api.rb +51 -0
  9. data/lib/docusign_esign/api/bulk_envelopes_api.rb +1 -1
  10. data/lib/docusign_esign/api/envelopes_api.rb +3 -3
  11. data/lib/docusign_esign/models/account_billing_plan.rb +10 -1
  12. data/lib/docusign_esign/models/account_billing_plan_response.rb +10 -1
  13. data/lib/docusign_esign/models/account_identity_input_option.rb +208 -0
  14. data/lib/docusign_esign/models/account_identity_verification_workflow.rb +13 -1
  15. data/lib/docusign_esign/models/account_settings_information.rb +96 -1
  16. data/lib/docusign_esign/models/account_ui_settings.rb +20 -1
  17. data/lib/docusign_esign/models/agent.rb +11 -1
  18. data/lib/docusign_esign/models/carbon_copy.rb +11 -1
  19. data/lib/docusign_esign/models/certified_delivery.rb +11 -1
  20. data/lib/docusign_esign/models/connect_custom_configuration.rb +10 -1
  21. data/lib/docusign_esign/models/connect_event_data.rb +210 -0
  22. data/lib/docusign_esign/models/document.rb +11 -11
  23. data/lib/docusign_esign/models/document_fields_information.rb +1 -1
  24. data/lib/docusign_esign/models/downgrade_billing_plan_information.rb +197 -0
  25. data/lib/docusign_esign/models/downgrade_plan_update_response.rb +248 -0
  26. data/lib/docusign_esign/models/draw.rb +911 -0
  27. data/lib/docusign_esign/models/editor.rb +11 -1
  28. data/lib/docusign_esign/models/envelope.rb +11 -1
  29. data/lib/docusign_esign/models/envelope_definition.rb +11 -1
  30. data/lib/docusign_esign/models/envelope_document.rb +1 -11
  31. data/lib/docusign_esign/models/envelope_template.rb +11 -1
  32. data/lib/docusign_esign/models/event_notification.rb +10 -1
  33. data/lib/docusign_esign/models/in_person_signer.rb +11 -1
  34. data/lib/docusign_esign/models/intermediary.rb +11 -1
  35. data/lib/docusign_esign/models/notary_host.rb +11 -1
  36. data/lib/docusign_esign/models/recipient_identity_input_option.rb +210 -0
  37. data/lib/docusign_esign/models/recipient_identity_phone_number.rb +208 -0
  38. data/lib/docusign_esign/models/recipient_identity_verification.rb +13 -1
  39. data/lib/docusign_esign/models/seal_sign.rb +11 -1
  40. data/lib/docusign_esign/models/signer.rb +12 -2
  41. data/lib/docusign_esign/models/tab_account_settings.rb +20 -1
  42. data/lib/docusign_esign/models/tabs.rb +13 -1
  43. data/lib/docusign_esign/models/template_tabs.rb +13 -1
  44. data/lib/docusign_esign/models/usage_history.rb +1 -1
  45. data/lib/docusign_esign/models/user_information.rb +1 -1
  46. data/lib/docusign_esign/models/witness.rb +11 -1
  47. data/lib/docusign_esign/version.rb +1 -1
  48. data/tests/Gemfile.lock +42 -0
  49. data/tests/docs/private.pem +27 -0
  50. metadata +13 -3
  51. data/docusign_esign-4.1.210.gem +0 -0
@@ -0,0 +1,248 @@
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 DowngradePlanUpdateResponse
17
+ #
18
+ attr_accessor :account_payment_method
19
+
20
+ #
21
+ attr_accessor :downgrade_effective_date
22
+
23
+ #
24
+ attr_accessor :downgrade_payment_cycle
25
+
26
+ #
27
+ attr_accessor :downgrade_plan_id
28
+
29
+ #
30
+ attr_accessor :downgrade_plan_name
31
+
32
+ #
33
+ attr_accessor :downgrade_request_status
34
+
35
+ #
36
+ attr_accessor :message
37
+
38
+
39
+ # Attribute mapping from ruby-style variable name to JSON key.
40
+ def self.attribute_map
41
+ {
42
+ :'account_payment_method' => :'accountPaymentMethod',
43
+ :'downgrade_effective_date' => :'downgradeEffectiveDate',
44
+ :'downgrade_payment_cycle' => :'downgradePaymentCycle',
45
+ :'downgrade_plan_id' => :'downgradePlanId',
46
+ :'downgrade_plan_name' => :'downgradePlanName',
47
+ :'downgrade_request_status' => :'downgradeRequestStatus',
48
+ :'message' => :'message'
49
+ }
50
+ end
51
+
52
+ # Attribute type mapping.
53
+ def self.swagger_types
54
+ {
55
+ :'account_payment_method' => :'String',
56
+ :'downgrade_effective_date' => :'String',
57
+ :'downgrade_payment_cycle' => :'String',
58
+ :'downgrade_plan_id' => :'String',
59
+ :'downgrade_plan_name' => :'String',
60
+ :'downgrade_request_status' => :'String',
61
+ :'message' => :'String'
62
+ }
63
+ end
64
+
65
+ # Initializes the object
66
+ # @param [Hash] attributes Model attributes in the form of hash
67
+ def initialize(attributes = {})
68
+ return unless attributes.is_a?(Hash)
69
+
70
+ # convert string to symbol for hash key
71
+ attributes = attributes.each_with_object({}){|(k,v), h| h[k.to_sym] = v}
72
+
73
+ if attributes.has_key?(:'accountPaymentMethod')
74
+ self.account_payment_method = attributes[:'accountPaymentMethod']
75
+ end
76
+
77
+ if attributes.has_key?(:'downgradeEffectiveDate')
78
+ self.downgrade_effective_date = attributes[:'downgradeEffectiveDate']
79
+ end
80
+
81
+ if attributes.has_key?(:'downgradePaymentCycle')
82
+ self.downgrade_payment_cycle = attributes[:'downgradePaymentCycle']
83
+ end
84
+
85
+ if attributes.has_key?(:'downgradePlanId')
86
+ self.downgrade_plan_id = attributes[:'downgradePlanId']
87
+ end
88
+
89
+ if attributes.has_key?(:'downgradePlanName')
90
+ self.downgrade_plan_name = attributes[:'downgradePlanName']
91
+ end
92
+
93
+ if attributes.has_key?(:'downgradeRequestStatus')
94
+ self.downgrade_request_status = attributes[:'downgradeRequestStatus']
95
+ end
96
+
97
+ if attributes.has_key?(:'message')
98
+ self.message = attributes[:'message']
99
+ end
100
+
101
+ end
102
+
103
+ # Show invalid properties with the reasons. Usually used together with valid?
104
+ # @return Array for valid properies with the reasons
105
+ def list_invalid_properties
106
+ invalid_properties = Array.new
107
+ return invalid_properties
108
+ end
109
+
110
+ # Check to see if the all the properties in the model are valid
111
+ # @return true if the model is valid
112
+ def valid?
113
+ return true
114
+ end
115
+
116
+ # Checks equality by comparing each attribute.
117
+ # @param [Object] Object to be compared
118
+ def ==(o)
119
+ return true if self.equal?(o)
120
+ self.class == o.class &&
121
+ account_payment_method == o.account_payment_method &&
122
+ downgrade_effective_date == o.downgrade_effective_date &&
123
+ downgrade_payment_cycle == o.downgrade_payment_cycle &&
124
+ downgrade_plan_id == o.downgrade_plan_id &&
125
+ downgrade_plan_name == o.downgrade_plan_name &&
126
+ downgrade_request_status == o.downgrade_request_status &&
127
+ message == o.message
128
+ end
129
+
130
+ # @see the `==` method
131
+ # @param [Object] Object to be compared
132
+ def eql?(o)
133
+ self == o
134
+ end
135
+
136
+ # Calculates hash code according to all attributes.
137
+ # @return [Fixnum] Hash code
138
+ def hash
139
+ [account_payment_method, downgrade_effective_date, downgrade_payment_cycle, downgrade_plan_id, downgrade_plan_name, downgrade_request_status, message].hash
140
+ end
141
+
142
+ # Builds the object from hash
143
+ # @param [Hash] attributes Model attributes in the form of hash
144
+ # @return [Object] Returns the model itself
145
+ def build_from_hash(attributes)
146
+ return nil unless attributes.is_a?(Hash)
147
+ self.class.swagger_types.each_pair do |key, type|
148
+ if type =~ /\AArray<(.*)>/i
149
+ # check to ensure the input is an array given that the the attribute
150
+ # is documented as an array but the input is not
151
+ 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) } )
153
+ end
154
+ elsif !attributes[self.class.attribute_map[key]].nil?
155
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
156
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
157
+ end
158
+
159
+ self
160
+ end
161
+
162
+ # Deserializes the data based on type
163
+ # @param string type Data type
164
+ # @param string value Value to be deserialized
165
+ # @return [Object] Deserialized data
166
+ def _deserialize(type, value)
167
+ case type.to_sym
168
+ when :DateTime
169
+ DateTime.parse(value)
170
+ when :Date
171
+ Date.parse(value)
172
+ when :String
173
+ value.to_s
174
+ when :Integer
175
+ value.to_i
176
+ when :Float
177
+ value.to_f
178
+ when :BOOLEAN
179
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
180
+ true
181
+ else
182
+ false
183
+ end
184
+ when :Object
185
+ # generic object (usually a Hash), return directly
186
+ value
187
+ when /\AArray<(?<inner_type>.+)>\z/
188
+ inner_type = Regexp.last_match[:inner_type]
189
+ value.map { |v| _deserialize(inner_type, v) }
190
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
191
+ k_type = Regexp.last_match[:k_type]
192
+ v_type = Regexp.last_match[:v_type]
193
+ {}.tap do |hash|
194
+ value.each do |k, v|
195
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
196
+ end
197
+ end
198
+ else # model
199
+ temp_model = DocuSign_eSign.const_get(type).new
200
+ temp_model.build_from_hash(value)
201
+ end
202
+ end
203
+
204
+ # Returns the string representation of the object
205
+ # @return [String] String presentation of the object
206
+ def to_s
207
+ to_hash.to_s
208
+ end
209
+
210
+ # to_body is an alias to to_hash (backward compatibility)
211
+ # @return [Hash] Returns the object in the form of hash
212
+ def to_body
213
+ to_hash
214
+ end
215
+
216
+ # Returns the object in the form of hash
217
+ # @return [Hash] Returns the object in the form of hash
218
+ def to_hash
219
+ hash = {}
220
+ self.class.attribute_map.each_pair do |attr, param|
221
+ value = self.send(attr)
222
+ next if value.nil?
223
+ hash[param] = _to_hash(value)
224
+ end
225
+ hash
226
+ end
227
+
228
+ # Outputs non-array value in the form of hash
229
+ # For object, use to_hash. Otherwise, just return the value
230
+ # @param [Object] value Any valid value
231
+ # @return [Hash] Returns the value in the form of hash
232
+ def _to_hash(value)
233
+ if value.is_a?(Array)
234
+ value.compact.map{ |v| _to_hash(v) }
235
+ elsif value.is_a?(Hash)
236
+ {}.tap do |hash|
237
+ value.each { |k, v| hash[k] = _to_hash(v) }
238
+ end
239
+ elsif value.respond_to? :to_hash
240
+ value.to_hash
241
+ else
242
+ value
243
+ end
244
+ end
245
+
246
+ end
247
+
248
+ end
@@ -0,0 +1,911 @@
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 Draw
17
+ #
18
+ attr_accessor :allow_signer_upload
19
+
20
+ #
21
+ attr_accessor :anchor_allow_white_space_in_characters
22
+
23
+ attr_accessor :anchor_allow_white_space_in_characters_metadata
24
+
25
+ # When set to **true**, the anchor string does not consider case when matching strings in the document. The default value is **true**.
26
+ attr_accessor :anchor_case_sensitive
27
+
28
+ attr_accessor :anchor_case_sensitive_metadata
29
+
30
+ # Specifies the alignment of anchor tabs with anchor strings. Possible values are **left** or **right**. The default value is **left**.
31
+ attr_accessor :anchor_horizontal_alignment
32
+
33
+ attr_accessor :anchor_horizontal_alignment_metadata
34
+
35
+ # When set to **true**, this tab is ignored if anchorString is not found in the document.
36
+ attr_accessor :anchor_ignore_if_not_present
37
+
38
+ attr_accessor :anchor_ignore_if_not_present_metadata
39
+
40
+ # When set to **true**, the anchor string in this tab matches whole words only (strings embedded in other strings are ignored.) The default value is **true**.
41
+ attr_accessor :anchor_match_whole_word
42
+
43
+ attr_accessor :anchor_match_whole_word_metadata
44
+
45
+ # Anchor text information for a radio button.
46
+ attr_accessor :anchor_string
47
+
48
+ attr_accessor :anchor_string_metadata
49
+
50
+ #
51
+ attr_accessor :anchor_tab_processor_version
52
+
53
+ attr_accessor :anchor_tab_processor_version_metadata
54
+
55
+ # Specifies units of the X and Y offset. Units could be pixels, millimeters, centimeters, or inches.
56
+ attr_accessor :anchor_units
57
+
58
+ attr_accessor :anchor_units_metadata
59
+
60
+ # Specifies the X axis location of the tab, in anchorUnits, relative to the anchorString.
61
+ attr_accessor :anchor_x_offset
62
+
63
+ attr_accessor :anchor_x_offset_metadata
64
+
65
+ # Specifies the Y axis location of the tab, in anchorUnits, relative to the anchorString.
66
+ attr_accessor :anchor_y_offset
67
+
68
+ attr_accessor :anchor_y_offset_metadata
69
+
70
+ # For conditional fields this is the TabLabel of the parent tab that controls this tab's visibility.
71
+ attr_accessor :conditional_parent_label
72
+
73
+ attr_accessor :conditional_parent_label_metadata
74
+
75
+ # For conditional fields, this is the value of the parent tab that controls the tab's visibility. If the parent tab is a Checkbox, Radio button, Optional Signature, or Optional Initial use \"on\" as the value to show that the parent tab is active.
76
+ attr_accessor :conditional_parent_value
77
+
78
+ attr_accessor :conditional_parent_value_metadata
79
+
80
+ # The DocuSign generated custom tab ID for the custom tab to be applied. This can only be used when adding new tabs for a recipient. When used, the new tab inherits all the custom tab properties.
81
+ attr_accessor :custom_tab_id
82
+
83
+ attr_accessor :custom_tab_id_metadata
84
+
85
+ # Specifies the document ID number that the tab is placed on. This must refer to an existing Document's ID attribute.
86
+ attr_accessor :document_id
87
+
88
+ attr_accessor :document_id_metadata
89
+
90
+ attr_accessor :error_details
91
+
92
+ #
93
+ attr_accessor :form_order
94
+
95
+ attr_accessor :form_order_metadata
96
+
97
+ #
98
+ attr_accessor :form_page_label
99
+
100
+ attr_accessor :form_page_label_metadata
101
+
102
+ #
103
+ attr_accessor :form_page_number
104
+
105
+ attr_accessor :form_page_number_metadata
106
+
107
+ # Height of the tab in pixels.
108
+ attr_accessor :height
109
+
110
+ attr_accessor :height_metadata
111
+
112
+ # When set to **true**, the signer cannot change the data of the custom tab.
113
+ attr_accessor :locked
114
+
115
+ attr_accessor :locked_metadata
116
+
117
+ attr_accessor :merge_field
118
+
119
+ #
120
+ attr_accessor :merge_field_xml
121
+
122
+ # Specifies the page number on which the tab is located.
123
+ attr_accessor :page_number
124
+
125
+ attr_accessor :page_number_metadata
126
+
127
+ # Unique for the recipient. It is used by the tab element to indicate which recipient is to sign the Document.
128
+ attr_accessor :recipient_id
129
+
130
+ #
131
+ attr_accessor :recipient_id_guid
132
+
133
+ attr_accessor :recipient_id_guid_metadata
134
+
135
+ attr_accessor :recipient_id_metadata
136
+
137
+ # When set to **true**, the signer is required to fill out this tab
138
+ attr_accessor :required
139
+
140
+ attr_accessor :required_metadata
141
+
142
+ # When set to **true**, this custom tab is shared.
143
+ attr_accessor :shared
144
+
145
+ attr_accessor :shared_metadata
146
+
147
+ attr_accessor :smart_contract_information
148
+
149
+ # Indicates the envelope status. Valid values are: * sent - The envelope is sent to the recipients. * created - The envelope is saved as a draft and can be modified and sent later.
150
+ attr_accessor :status
151
+
152
+ attr_accessor :status_metadata
153
+
154
+ #
155
+ attr_accessor :tab_group_labels
156
+
157
+ attr_accessor :tab_group_labels_metadata
158
+
159
+ # The unique identifier for the tab. The tabid can be retrieved with the [ML:GET call].
160
+ attr_accessor :tab_id
161
+
162
+ attr_accessor :tab_id_metadata
163
+
164
+ attr_accessor :tab_label_metadata
165
+
166
+ #
167
+ attr_accessor :tab_order
168
+
169
+ attr_accessor :tab_order_metadata
170
+
171
+ #
172
+ attr_accessor :tab_type
173
+
174
+ attr_accessor :tab_type_metadata
175
+
176
+ # When set to **true**, the sender cannot change any attributes of the recipient. Used only when working with template recipients.
177
+ attr_accessor :template_locked
178
+
179
+ attr_accessor :template_locked_metadata
180
+
181
+ # When set to **true**, the sender may not remove the recipient. Used only when working with template recipients.
182
+ attr_accessor :template_required
183
+
184
+ attr_accessor :template_required_metadata
185
+
186
+ #
187
+ attr_accessor :tooltip
188
+
189
+ attr_accessor :tool_tip_metadata
190
+
191
+ #
192
+ attr_accessor :use_background_as_canvas
193
+
194
+ # Width of the tab in pixels.
195
+ attr_accessor :width
196
+
197
+ attr_accessor :width_metadata
198
+
199
+ # This indicates the horizontal offset of the object on the page. DocuSign uses 72 DPI when determining position.
200
+ attr_accessor :x_position
201
+
202
+ attr_accessor :x_position_metadata
203
+
204
+ # This indicates the vertical offset of the object on the page. DocuSign uses 72 DPI when determining position.
205
+ attr_accessor :y_position
206
+
207
+ attr_accessor :y_position_metadata
208
+
209
+
210
+ # Attribute mapping from ruby-style variable name to JSON key.
211
+ def self.attribute_map
212
+ {
213
+ :'allow_signer_upload' => :'allowSignerUpload',
214
+ :'anchor_allow_white_space_in_characters' => :'anchorAllowWhiteSpaceInCharacters',
215
+ :'anchor_allow_white_space_in_characters_metadata' => :'anchorAllowWhiteSpaceInCharactersMetadata',
216
+ :'anchor_case_sensitive' => :'anchorCaseSensitive',
217
+ :'anchor_case_sensitive_metadata' => :'anchorCaseSensitiveMetadata',
218
+ :'anchor_horizontal_alignment' => :'anchorHorizontalAlignment',
219
+ :'anchor_horizontal_alignment_metadata' => :'anchorHorizontalAlignmentMetadata',
220
+ :'anchor_ignore_if_not_present' => :'anchorIgnoreIfNotPresent',
221
+ :'anchor_ignore_if_not_present_metadata' => :'anchorIgnoreIfNotPresentMetadata',
222
+ :'anchor_match_whole_word' => :'anchorMatchWholeWord',
223
+ :'anchor_match_whole_word_metadata' => :'anchorMatchWholeWordMetadata',
224
+ :'anchor_string' => :'anchorString',
225
+ :'anchor_string_metadata' => :'anchorStringMetadata',
226
+ :'anchor_tab_processor_version' => :'anchorTabProcessorVersion',
227
+ :'anchor_tab_processor_version_metadata' => :'anchorTabProcessorVersionMetadata',
228
+ :'anchor_units' => :'anchorUnits',
229
+ :'anchor_units_metadata' => :'anchorUnitsMetadata',
230
+ :'anchor_x_offset' => :'anchorXOffset',
231
+ :'anchor_x_offset_metadata' => :'anchorXOffsetMetadata',
232
+ :'anchor_y_offset' => :'anchorYOffset',
233
+ :'anchor_y_offset_metadata' => :'anchorYOffsetMetadata',
234
+ :'conditional_parent_label' => :'conditionalParentLabel',
235
+ :'conditional_parent_label_metadata' => :'conditionalParentLabelMetadata',
236
+ :'conditional_parent_value' => :'conditionalParentValue',
237
+ :'conditional_parent_value_metadata' => :'conditionalParentValueMetadata',
238
+ :'custom_tab_id' => :'customTabId',
239
+ :'custom_tab_id_metadata' => :'customTabIdMetadata',
240
+ :'document_id' => :'documentId',
241
+ :'document_id_metadata' => :'documentIdMetadata',
242
+ :'error_details' => :'errorDetails',
243
+ :'form_order' => :'formOrder',
244
+ :'form_order_metadata' => :'formOrderMetadata',
245
+ :'form_page_label' => :'formPageLabel',
246
+ :'form_page_label_metadata' => :'formPageLabelMetadata',
247
+ :'form_page_number' => :'formPageNumber',
248
+ :'form_page_number_metadata' => :'formPageNumberMetadata',
249
+ :'height' => :'height',
250
+ :'height_metadata' => :'heightMetadata',
251
+ :'locked' => :'locked',
252
+ :'locked_metadata' => :'lockedMetadata',
253
+ :'merge_field' => :'mergeField',
254
+ :'merge_field_xml' => :'mergeFieldXml',
255
+ :'page_number' => :'pageNumber',
256
+ :'page_number_metadata' => :'pageNumberMetadata',
257
+ :'recipient_id' => :'recipientId',
258
+ :'recipient_id_guid' => :'recipientIdGuid',
259
+ :'recipient_id_guid_metadata' => :'recipientIdGuidMetadata',
260
+ :'recipient_id_metadata' => :'recipientIdMetadata',
261
+ :'required' => :'required',
262
+ :'required_metadata' => :'requiredMetadata',
263
+ :'shared' => :'shared',
264
+ :'shared_metadata' => :'sharedMetadata',
265
+ :'smart_contract_information' => :'smartContractInformation',
266
+ :'status' => :'status',
267
+ :'status_metadata' => :'statusMetadata',
268
+ :'tab_group_labels' => :'tabGroupLabels',
269
+ :'tab_group_labels_metadata' => :'tabGroupLabelsMetadata',
270
+ :'tab_id' => :'tabId',
271
+ :'tab_id_metadata' => :'tabIdMetadata',
272
+ :'tab_label_metadata' => :'tabLabelMetadata',
273
+ :'tab_order' => :'tabOrder',
274
+ :'tab_order_metadata' => :'tabOrderMetadata',
275
+ :'tab_type' => :'tabType',
276
+ :'tab_type_metadata' => :'tabTypeMetadata',
277
+ :'template_locked' => :'templateLocked',
278
+ :'template_locked_metadata' => :'templateLockedMetadata',
279
+ :'template_required' => :'templateRequired',
280
+ :'template_required_metadata' => :'templateRequiredMetadata',
281
+ :'tooltip' => :'tooltip',
282
+ :'tool_tip_metadata' => :'toolTipMetadata',
283
+ :'use_background_as_canvas' => :'useBackgroundAsCanvas',
284
+ :'width' => :'width',
285
+ :'width_metadata' => :'widthMetadata',
286
+ :'x_position' => :'xPosition',
287
+ :'x_position_metadata' => :'xPositionMetadata',
288
+ :'y_position' => :'yPosition',
289
+ :'y_position_metadata' => :'yPositionMetadata'
290
+ }
291
+ end
292
+
293
+ # Attribute type mapping.
294
+ def self.swagger_types
295
+ {
296
+ :'allow_signer_upload' => :'String',
297
+ :'anchor_allow_white_space_in_characters' => :'String',
298
+ :'anchor_allow_white_space_in_characters_metadata' => :'PropertyMetadata',
299
+ :'anchor_case_sensitive' => :'String',
300
+ :'anchor_case_sensitive_metadata' => :'PropertyMetadata',
301
+ :'anchor_horizontal_alignment' => :'String',
302
+ :'anchor_horizontal_alignment_metadata' => :'PropertyMetadata',
303
+ :'anchor_ignore_if_not_present' => :'String',
304
+ :'anchor_ignore_if_not_present_metadata' => :'PropertyMetadata',
305
+ :'anchor_match_whole_word' => :'String',
306
+ :'anchor_match_whole_word_metadata' => :'PropertyMetadata',
307
+ :'anchor_string' => :'String',
308
+ :'anchor_string_metadata' => :'PropertyMetadata',
309
+ :'anchor_tab_processor_version' => :'String',
310
+ :'anchor_tab_processor_version_metadata' => :'PropertyMetadata',
311
+ :'anchor_units' => :'String',
312
+ :'anchor_units_metadata' => :'PropertyMetadata',
313
+ :'anchor_x_offset' => :'String',
314
+ :'anchor_x_offset_metadata' => :'PropertyMetadata',
315
+ :'anchor_y_offset' => :'String',
316
+ :'anchor_y_offset_metadata' => :'PropertyMetadata',
317
+ :'conditional_parent_label' => :'String',
318
+ :'conditional_parent_label_metadata' => :'PropertyMetadata',
319
+ :'conditional_parent_value' => :'String',
320
+ :'conditional_parent_value_metadata' => :'PropertyMetadata',
321
+ :'custom_tab_id' => :'String',
322
+ :'custom_tab_id_metadata' => :'PropertyMetadata',
323
+ :'document_id' => :'String',
324
+ :'document_id_metadata' => :'PropertyMetadata',
325
+ :'error_details' => :'ErrorDetails',
326
+ :'form_order' => :'String',
327
+ :'form_order_metadata' => :'PropertyMetadata',
328
+ :'form_page_label' => :'String',
329
+ :'form_page_label_metadata' => :'PropertyMetadata',
330
+ :'form_page_number' => :'String',
331
+ :'form_page_number_metadata' => :'PropertyMetadata',
332
+ :'height' => :'String',
333
+ :'height_metadata' => :'PropertyMetadata',
334
+ :'locked' => :'String',
335
+ :'locked_metadata' => :'PropertyMetadata',
336
+ :'merge_field' => :'MergeField',
337
+ :'merge_field_xml' => :'String',
338
+ :'page_number' => :'String',
339
+ :'page_number_metadata' => :'PropertyMetadata',
340
+ :'recipient_id' => :'String',
341
+ :'recipient_id_guid' => :'String',
342
+ :'recipient_id_guid_metadata' => :'PropertyMetadata',
343
+ :'recipient_id_metadata' => :'PropertyMetadata',
344
+ :'required' => :'String',
345
+ :'required_metadata' => :'PropertyMetadata',
346
+ :'shared' => :'String',
347
+ :'shared_metadata' => :'PropertyMetadata',
348
+ :'smart_contract_information' => :'SmartContractInformation',
349
+ :'status' => :'String',
350
+ :'status_metadata' => :'PropertyMetadata',
351
+ :'tab_group_labels' => :'Array<String>',
352
+ :'tab_group_labels_metadata' => :'PropertyMetadata',
353
+ :'tab_id' => :'String',
354
+ :'tab_id_metadata' => :'PropertyMetadata',
355
+ :'tab_label_metadata' => :'PropertyMetadata',
356
+ :'tab_order' => :'String',
357
+ :'tab_order_metadata' => :'PropertyMetadata',
358
+ :'tab_type' => :'String',
359
+ :'tab_type_metadata' => :'PropertyMetadata',
360
+ :'template_locked' => :'String',
361
+ :'template_locked_metadata' => :'PropertyMetadata',
362
+ :'template_required' => :'String',
363
+ :'template_required_metadata' => :'PropertyMetadata',
364
+ :'tooltip' => :'String',
365
+ :'tool_tip_metadata' => :'PropertyMetadata',
366
+ :'use_background_as_canvas' => :'String',
367
+ :'width' => :'String',
368
+ :'width_metadata' => :'PropertyMetadata',
369
+ :'x_position' => :'String',
370
+ :'x_position_metadata' => :'PropertyMetadata',
371
+ :'y_position' => :'String',
372
+ :'y_position_metadata' => :'PropertyMetadata'
373
+ }
374
+ end
375
+
376
+ # Initializes the object
377
+ # @param [Hash] attributes Model attributes in the form of hash
378
+ def initialize(attributes = {})
379
+ return unless attributes.is_a?(Hash)
380
+
381
+ # convert string to symbol for hash key
382
+ attributes = attributes.each_with_object({}){|(k,v), h| h[k.to_sym] = v}
383
+
384
+ if attributes.has_key?(:'allowSignerUpload')
385
+ self.allow_signer_upload = attributes[:'allowSignerUpload']
386
+ end
387
+
388
+ if attributes.has_key?(:'anchorAllowWhiteSpaceInCharacters')
389
+ self.anchor_allow_white_space_in_characters = attributes[:'anchorAllowWhiteSpaceInCharacters']
390
+ end
391
+
392
+ if attributes.has_key?(:'anchorAllowWhiteSpaceInCharactersMetadata')
393
+ self.anchor_allow_white_space_in_characters_metadata = attributes[:'anchorAllowWhiteSpaceInCharactersMetadata']
394
+ end
395
+
396
+ if attributes.has_key?(:'anchorCaseSensitive')
397
+ self.anchor_case_sensitive = attributes[:'anchorCaseSensitive']
398
+ end
399
+
400
+ if attributes.has_key?(:'anchorCaseSensitiveMetadata')
401
+ self.anchor_case_sensitive_metadata = attributes[:'anchorCaseSensitiveMetadata']
402
+ end
403
+
404
+ if attributes.has_key?(:'anchorHorizontalAlignment')
405
+ self.anchor_horizontal_alignment = attributes[:'anchorHorizontalAlignment']
406
+ end
407
+
408
+ if attributes.has_key?(:'anchorHorizontalAlignmentMetadata')
409
+ self.anchor_horizontal_alignment_metadata = attributes[:'anchorHorizontalAlignmentMetadata']
410
+ end
411
+
412
+ if attributes.has_key?(:'anchorIgnoreIfNotPresent')
413
+ self.anchor_ignore_if_not_present = attributes[:'anchorIgnoreIfNotPresent']
414
+ end
415
+
416
+ if attributes.has_key?(:'anchorIgnoreIfNotPresentMetadata')
417
+ self.anchor_ignore_if_not_present_metadata = attributes[:'anchorIgnoreIfNotPresentMetadata']
418
+ end
419
+
420
+ if attributes.has_key?(:'anchorMatchWholeWord')
421
+ self.anchor_match_whole_word = attributes[:'anchorMatchWholeWord']
422
+ end
423
+
424
+ if attributes.has_key?(:'anchorMatchWholeWordMetadata')
425
+ self.anchor_match_whole_word_metadata = attributes[:'anchorMatchWholeWordMetadata']
426
+ end
427
+
428
+ if attributes.has_key?(:'anchorString')
429
+ self.anchor_string = attributes[:'anchorString']
430
+ end
431
+
432
+ if attributes.has_key?(:'anchorStringMetadata')
433
+ self.anchor_string_metadata = attributes[:'anchorStringMetadata']
434
+ end
435
+
436
+ if attributes.has_key?(:'anchorTabProcessorVersion')
437
+ self.anchor_tab_processor_version = attributes[:'anchorTabProcessorVersion']
438
+ end
439
+
440
+ if attributes.has_key?(:'anchorTabProcessorVersionMetadata')
441
+ self.anchor_tab_processor_version_metadata = attributes[:'anchorTabProcessorVersionMetadata']
442
+ end
443
+
444
+ if attributes.has_key?(:'anchorUnits')
445
+ self.anchor_units = attributes[:'anchorUnits']
446
+ end
447
+
448
+ if attributes.has_key?(:'anchorUnitsMetadata')
449
+ self.anchor_units_metadata = attributes[:'anchorUnitsMetadata']
450
+ end
451
+
452
+ if attributes.has_key?(:'anchorXOffset')
453
+ self.anchor_x_offset = attributes[:'anchorXOffset']
454
+ end
455
+
456
+ if attributes.has_key?(:'anchorXOffsetMetadata')
457
+ self.anchor_x_offset_metadata = attributes[:'anchorXOffsetMetadata']
458
+ end
459
+
460
+ if attributes.has_key?(:'anchorYOffset')
461
+ self.anchor_y_offset = attributes[:'anchorYOffset']
462
+ end
463
+
464
+ if attributes.has_key?(:'anchorYOffsetMetadata')
465
+ self.anchor_y_offset_metadata = attributes[:'anchorYOffsetMetadata']
466
+ end
467
+
468
+ if attributes.has_key?(:'conditionalParentLabel')
469
+ self.conditional_parent_label = attributes[:'conditionalParentLabel']
470
+ end
471
+
472
+ if attributes.has_key?(:'conditionalParentLabelMetadata')
473
+ self.conditional_parent_label_metadata = attributes[:'conditionalParentLabelMetadata']
474
+ end
475
+
476
+ if attributes.has_key?(:'conditionalParentValue')
477
+ self.conditional_parent_value = attributes[:'conditionalParentValue']
478
+ end
479
+
480
+ if attributes.has_key?(:'conditionalParentValueMetadata')
481
+ self.conditional_parent_value_metadata = attributes[:'conditionalParentValueMetadata']
482
+ end
483
+
484
+ if attributes.has_key?(:'customTabId')
485
+ self.custom_tab_id = attributes[:'customTabId']
486
+ end
487
+
488
+ if attributes.has_key?(:'customTabIdMetadata')
489
+ self.custom_tab_id_metadata = attributes[:'customTabIdMetadata']
490
+ end
491
+
492
+ if attributes.has_key?(:'documentId')
493
+ self.document_id = attributes[:'documentId']
494
+ end
495
+
496
+ if attributes.has_key?(:'documentIdMetadata')
497
+ self.document_id_metadata = attributes[:'documentIdMetadata']
498
+ end
499
+
500
+ if attributes.has_key?(:'errorDetails')
501
+ self.error_details = attributes[:'errorDetails']
502
+ end
503
+
504
+ if attributes.has_key?(:'formOrder')
505
+ self.form_order = attributes[:'formOrder']
506
+ end
507
+
508
+ if attributes.has_key?(:'formOrderMetadata')
509
+ self.form_order_metadata = attributes[:'formOrderMetadata']
510
+ end
511
+
512
+ if attributes.has_key?(:'formPageLabel')
513
+ self.form_page_label = attributes[:'formPageLabel']
514
+ end
515
+
516
+ if attributes.has_key?(:'formPageLabelMetadata')
517
+ self.form_page_label_metadata = attributes[:'formPageLabelMetadata']
518
+ end
519
+
520
+ if attributes.has_key?(:'formPageNumber')
521
+ self.form_page_number = attributes[:'formPageNumber']
522
+ end
523
+
524
+ if attributes.has_key?(:'formPageNumberMetadata')
525
+ self.form_page_number_metadata = attributes[:'formPageNumberMetadata']
526
+ end
527
+
528
+ if attributes.has_key?(:'height')
529
+ self.height = attributes[:'height']
530
+ end
531
+
532
+ if attributes.has_key?(:'heightMetadata')
533
+ self.height_metadata = attributes[:'heightMetadata']
534
+ end
535
+
536
+ if attributes.has_key?(:'locked')
537
+ self.locked = attributes[:'locked']
538
+ end
539
+
540
+ if attributes.has_key?(:'lockedMetadata')
541
+ self.locked_metadata = attributes[:'lockedMetadata']
542
+ end
543
+
544
+ if attributes.has_key?(:'mergeField')
545
+ self.merge_field = attributes[:'mergeField']
546
+ end
547
+
548
+ if attributes.has_key?(:'mergeFieldXml')
549
+ self.merge_field_xml = attributes[:'mergeFieldXml']
550
+ end
551
+
552
+ if attributes.has_key?(:'pageNumber')
553
+ self.page_number = attributes[:'pageNumber']
554
+ end
555
+
556
+ if attributes.has_key?(:'pageNumberMetadata')
557
+ self.page_number_metadata = attributes[:'pageNumberMetadata']
558
+ end
559
+
560
+ if attributes.has_key?(:'recipientId')
561
+ self.recipient_id = attributes[:'recipientId']
562
+ end
563
+
564
+ if attributes.has_key?(:'recipientIdGuid')
565
+ self.recipient_id_guid = attributes[:'recipientIdGuid']
566
+ end
567
+
568
+ if attributes.has_key?(:'recipientIdGuidMetadata')
569
+ self.recipient_id_guid_metadata = attributes[:'recipientIdGuidMetadata']
570
+ end
571
+
572
+ if attributes.has_key?(:'recipientIdMetadata')
573
+ self.recipient_id_metadata = attributes[:'recipientIdMetadata']
574
+ end
575
+
576
+ if attributes.has_key?(:'required')
577
+ self.required = attributes[:'required']
578
+ end
579
+
580
+ if attributes.has_key?(:'requiredMetadata')
581
+ self.required_metadata = attributes[:'requiredMetadata']
582
+ end
583
+
584
+ if attributes.has_key?(:'shared')
585
+ self.shared = attributes[:'shared']
586
+ end
587
+
588
+ if attributes.has_key?(:'sharedMetadata')
589
+ self.shared_metadata = attributes[:'sharedMetadata']
590
+ end
591
+
592
+ if attributes.has_key?(:'smartContractInformation')
593
+ self.smart_contract_information = attributes[:'smartContractInformation']
594
+ end
595
+
596
+ if attributes.has_key?(:'status')
597
+ self.status = attributes[:'status']
598
+ end
599
+
600
+ if attributes.has_key?(:'statusMetadata')
601
+ self.status_metadata = attributes[:'statusMetadata']
602
+ end
603
+
604
+ if attributes.has_key?(:'tabGroupLabels')
605
+ if (value = attributes[:'tabGroupLabels']).is_a?(Array)
606
+ self.tab_group_labels = value
607
+ end
608
+ end
609
+
610
+ if attributes.has_key?(:'tabGroupLabelsMetadata')
611
+ self.tab_group_labels_metadata = attributes[:'tabGroupLabelsMetadata']
612
+ end
613
+
614
+ if attributes.has_key?(:'tabId')
615
+ self.tab_id = attributes[:'tabId']
616
+ end
617
+
618
+ if attributes.has_key?(:'tabIdMetadata')
619
+ self.tab_id_metadata = attributes[:'tabIdMetadata']
620
+ end
621
+
622
+ if attributes.has_key?(:'tabLabelMetadata')
623
+ self.tab_label_metadata = attributes[:'tabLabelMetadata']
624
+ end
625
+
626
+ if attributes.has_key?(:'tabOrder')
627
+ self.tab_order = attributes[:'tabOrder']
628
+ end
629
+
630
+ if attributes.has_key?(:'tabOrderMetadata')
631
+ self.tab_order_metadata = attributes[:'tabOrderMetadata']
632
+ end
633
+
634
+ if attributes.has_key?(:'tabType')
635
+ self.tab_type = attributes[:'tabType']
636
+ end
637
+
638
+ if attributes.has_key?(:'tabTypeMetadata')
639
+ self.tab_type_metadata = attributes[:'tabTypeMetadata']
640
+ end
641
+
642
+ if attributes.has_key?(:'templateLocked')
643
+ self.template_locked = attributes[:'templateLocked']
644
+ end
645
+
646
+ if attributes.has_key?(:'templateLockedMetadata')
647
+ self.template_locked_metadata = attributes[:'templateLockedMetadata']
648
+ end
649
+
650
+ if attributes.has_key?(:'templateRequired')
651
+ self.template_required = attributes[:'templateRequired']
652
+ end
653
+
654
+ if attributes.has_key?(:'templateRequiredMetadata')
655
+ self.template_required_metadata = attributes[:'templateRequiredMetadata']
656
+ end
657
+
658
+ if attributes.has_key?(:'tooltip')
659
+ self.tooltip = attributes[:'tooltip']
660
+ end
661
+
662
+ if attributes.has_key?(:'toolTipMetadata')
663
+ self.tool_tip_metadata = attributes[:'toolTipMetadata']
664
+ end
665
+
666
+ if attributes.has_key?(:'useBackgroundAsCanvas')
667
+ self.use_background_as_canvas = attributes[:'useBackgroundAsCanvas']
668
+ end
669
+
670
+ if attributes.has_key?(:'width')
671
+ self.width = attributes[:'width']
672
+ end
673
+
674
+ if attributes.has_key?(:'widthMetadata')
675
+ self.width_metadata = attributes[:'widthMetadata']
676
+ end
677
+
678
+ if attributes.has_key?(:'xPosition')
679
+ self.x_position = attributes[:'xPosition']
680
+ end
681
+
682
+ if attributes.has_key?(:'xPositionMetadata')
683
+ self.x_position_metadata = attributes[:'xPositionMetadata']
684
+ end
685
+
686
+ if attributes.has_key?(:'yPosition')
687
+ self.y_position = attributes[:'yPosition']
688
+ end
689
+
690
+ if attributes.has_key?(:'yPositionMetadata')
691
+ self.y_position_metadata = attributes[:'yPositionMetadata']
692
+ end
693
+
694
+ end
695
+
696
+ # Show invalid properties with the reasons. Usually used together with valid?
697
+ # @return Array for valid properies with the reasons
698
+ def list_invalid_properties
699
+ invalid_properties = Array.new
700
+ return invalid_properties
701
+ end
702
+
703
+ # Check to see if the all the properties in the model are valid
704
+ # @return true if the model is valid
705
+ def valid?
706
+ return true
707
+ end
708
+
709
+ # Checks equality by comparing each attribute.
710
+ # @param [Object] Object to be compared
711
+ def ==(o)
712
+ return true if self.equal?(o)
713
+ self.class == o.class &&
714
+ allow_signer_upload == o.allow_signer_upload &&
715
+ anchor_allow_white_space_in_characters == o.anchor_allow_white_space_in_characters &&
716
+ anchor_allow_white_space_in_characters_metadata == o.anchor_allow_white_space_in_characters_metadata &&
717
+ anchor_case_sensitive == o.anchor_case_sensitive &&
718
+ anchor_case_sensitive_metadata == o.anchor_case_sensitive_metadata &&
719
+ anchor_horizontal_alignment == o.anchor_horizontal_alignment &&
720
+ anchor_horizontal_alignment_metadata == o.anchor_horizontal_alignment_metadata &&
721
+ anchor_ignore_if_not_present == o.anchor_ignore_if_not_present &&
722
+ anchor_ignore_if_not_present_metadata == o.anchor_ignore_if_not_present_metadata &&
723
+ anchor_match_whole_word == o.anchor_match_whole_word &&
724
+ anchor_match_whole_word_metadata == o.anchor_match_whole_word_metadata &&
725
+ anchor_string == o.anchor_string &&
726
+ anchor_string_metadata == o.anchor_string_metadata &&
727
+ anchor_tab_processor_version == o.anchor_tab_processor_version &&
728
+ anchor_tab_processor_version_metadata == o.anchor_tab_processor_version_metadata &&
729
+ anchor_units == o.anchor_units &&
730
+ anchor_units_metadata == o.anchor_units_metadata &&
731
+ anchor_x_offset == o.anchor_x_offset &&
732
+ anchor_x_offset_metadata == o.anchor_x_offset_metadata &&
733
+ anchor_y_offset == o.anchor_y_offset &&
734
+ anchor_y_offset_metadata == o.anchor_y_offset_metadata &&
735
+ conditional_parent_label == o.conditional_parent_label &&
736
+ conditional_parent_label_metadata == o.conditional_parent_label_metadata &&
737
+ conditional_parent_value == o.conditional_parent_value &&
738
+ conditional_parent_value_metadata == o.conditional_parent_value_metadata &&
739
+ custom_tab_id == o.custom_tab_id &&
740
+ custom_tab_id_metadata == o.custom_tab_id_metadata &&
741
+ document_id == o.document_id &&
742
+ document_id_metadata == o.document_id_metadata &&
743
+ error_details == o.error_details &&
744
+ form_order == o.form_order &&
745
+ form_order_metadata == o.form_order_metadata &&
746
+ form_page_label == o.form_page_label &&
747
+ form_page_label_metadata == o.form_page_label_metadata &&
748
+ form_page_number == o.form_page_number &&
749
+ form_page_number_metadata == o.form_page_number_metadata &&
750
+ height == o.height &&
751
+ height_metadata == o.height_metadata &&
752
+ locked == o.locked &&
753
+ locked_metadata == o.locked_metadata &&
754
+ merge_field == o.merge_field &&
755
+ merge_field_xml == o.merge_field_xml &&
756
+ page_number == o.page_number &&
757
+ page_number_metadata == o.page_number_metadata &&
758
+ recipient_id == o.recipient_id &&
759
+ recipient_id_guid == o.recipient_id_guid &&
760
+ recipient_id_guid_metadata == o.recipient_id_guid_metadata &&
761
+ recipient_id_metadata == o.recipient_id_metadata &&
762
+ required == o.required &&
763
+ required_metadata == o.required_metadata &&
764
+ shared == o.shared &&
765
+ shared_metadata == o.shared_metadata &&
766
+ smart_contract_information == o.smart_contract_information &&
767
+ status == o.status &&
768
+ status_metadata == o.status_metadata &&
769
+ tab_group_labels == o.tab_group_labels &&
770
+ tab_group_labels_metadata == o.tab_group_labels_metadata &&
771
+ tab_id == o.tab_id &&
772
+ tab_id_metadata == o.tab_id_metadata &&
773
+ tab_label_metadata == o.tab_label_metadata &&
774
+ tab_order == o.tab_order &&
775
+ tab_order_metadata == o.tab_order_metadata &&
776
+ tab_type == o.tab_type &&
777
+ tab_type_metadata == o.tab_type_metadata &&
778
+ template_locked == o.template_locked &&
779
+ template_locked_metadata == o.template_locked_metadata &&
780
+ template_required == o.template_required &&
781
+ template_required_metadata == o.template_required_metadata &&
782
+ tooltip == o.tooltip &&
783
+ tool_tip_metadata == o.tool_tip_metadata &&
784
+ use_background_as_canvas == o.use_background_as_canvas &&
785
+ width == o.width &&
786
+ width_metadata == o.width_metadata &&
787
+ x_position == o.x_position &&
788
+ x_position_metadata == o.x_position_metadata &&
789
+ y_position == o.y_position &&
790
+ y_position_metadata == o.y_position_metadata
791
+ end
792
+
793
+ # @see the `==` method
794
+ # @param [Object] Object to be compared
795
+ def eql?(o)
796
+ self == o
797
+ end
798
+
799
+ # Calculates hash code according to all attributes.
800
+ # @return [Fixnum] Hash code
801
+ def hash
802
+ [allow_signer_upload, anchor_allow_white_space_in_characters, anchor_allow_white_space_in_characters_metadata, anchor_case_sensitive, anchor_case_sensitive_metadata, anchor_horizontal_alignment, anchor_horizontal_alignment_metadata, anchor_ignore_if_not_present, anchor_ignore_if_not_present_metadata, anchor_match_whole_word, anchor_match_whole_word_metadata, anchor_string, anchor_string_metadata, anchor_tab_processor_version, anchor_tab_processor_version_metadata, anchor_units, anchor_units_metadata, anchor_x_offset, anchor_x_offset_metadata, anchor_y_offset, anchor_y_offset_metadata, conditional_parent_label, conditional_parent_label_metadata, conditional_parent_value, conditional_parent_value_metadata, custom_tab_id, custom_tab_id_metadata, document_id, document_id_metadata, error_details, form_order, form_order_metadata, form_page_label, form_page_label_metadata, form_page_number, form_page_number_metadata, height, height_metadata, locked, locked_metadata, merge_field, merge_field_xml, page_number, page_number_metadata, recipient_id, recipient_id_guid, recipient_id_guid_metadata, recipient_id_metadata, required, required_metadata, shared, shared_metadata, smart_contract_information, status, status_metadata, tab_group_labels, tab_group_labels_metadata, tab_id, tab_id_metadata, tab_label_metadata, tab_order, tab_order_metadata, tab_type, tab_type_metadata, template_locked, template_locked_metadata, template_required, template_required_metadata, tooltip, tool_tip_metadata, use_background_as_canvas, width, width_metadata, x_position, x_position_metadata, y_position, y_position_metadata].hash
803
+ end
804
+
805
+ # Builds the object from hash
806
+ # @param [Hash] attributes Model attributes in the form of hash
807
+ # @return [Object] Returns the model itself
808
+ def build_from_hash(attributes)
809
+ return nil unless attributes.is_a?(Hash)
810
+ self.class.swagger_types.each_pair do |key, type|
811
+ if type =~ /\AArray<(.*)>/i
812
+ # check to ensure the input is an array given that the the attribute
813
+ # is documented as an array but the input is not
814
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
815
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map{ |v| _deserialize($1, v) } )
816
+ end
817
+ elsif !attributes[self.class.attribute_map[key]].nil?
818
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
819
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
820
+ end
821
+
822
+ self
823
+ end
824
+
825
+ # Deserializes the data based on type
826
+ # @param string type Data type
827
+ # @param string value Value to be deserialized
828
+ # @return [Object] Deserialized data
829
+ def _deserialize(type, value)
830
+ case type.to_sym
831
+ when :DateTime
832
+ DateTime.parse(value)
833
+ when :Date
834
+ Date.parse(value)
835
+ when :String
836
+ value.to_s
837
+ when :Integer
838
+ value.to_i
839
+ when :Float
840
+ value.to_f
841
+ when :BOOLEAN
842
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
843
+ true
844
+ else
845
+ false
846
+ end
847
+ when :Object
848
+ # generic object (usually a Hash), return directly
849
+ value
850
+ when /\AArray<(?<inner_type>.+)>\z/
851
+ inner_type = Regexp.last_match[:inner_type]
852
+ value.map { |v| _deserialize(inner_type, v) }
853
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
854
+ k_type = Regexp.last_match[:k_type]
855
+ v_type = Regexp.last_match[:v_type]
856
+ {}.tap do |hash|
857
+ value.each do |k, v|
858
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
859
+ end
860
+ end
861
+ else # model
862
+ temp_model = DocuSign_eSign.const_get(type).new
863
+ temp_model.build_from_hash(value)
864
+ end
865
+ end
866
+
867
+ # Returns the string representation of the object
868
+ # @return [String] String presentation of the object
869
+ def to_s
870
+ to_hash.to_s
871
+ end
872
+
873
+ # to_body is an alias to to_hash (backward compatibility)
874
+ # @return [Hash] Returns the object in the form of hash
875
+ def to_body
876
+ to_hash
877
+ end
878
+
879
+ # Returns the object in the form of hash
880
+ # @return [Hash] Returns the object in the form of hash
881
+ def to_hash
882
+ hash = {}
883
+ self.class.attribute_map.each_pair do |attr, param|
884
+ value = self.send(attr)
885
+ next if value.nil?
886
+ hash[param] = _to_hash(value)
887
+ end
888
+ hash
889
+ end
890
+
891
+ # Outputs non-array value in the form of hash
892
+ # For object, use to_hash. Otherwise, just return the value
893
+ # @param [Object] value Any valid value
894
+ # @return [Hash] Returns the value in the form of hash
895
+ def _to_hash(value)
896
+ if value.is_a?(Array)
897
+ value.compact.map{ |v| _to_hash(v) }
898
+ elsif value.is_a?(Hash)
899
+ {}.tap do |hash|
900
+ value.each { |k, v| hash[k] = _to_hash(v) }
901
+ end
902
+ elsif value.respond_to? :to_hash
903
+ value.to_hash
904
+ else
905
+ value
906
+ end
907
+ end
908
+
909
+ end
910
+
911
+ end