docspring 1.4.1 → 2.0.0

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.
Files changed (243) hide show
  1. checksums.yaml +4 -4
  2. data/.gitlab-ci.yml +26 -0
  3. data/.openapi-generator/FILES +220 -0
  4. data/.openapi-generator/VERSION +1 -1
  5. data/.rubocop.yml +6 -12
  6. data/.travis.yml +11 -0
  7. data/CHANGELOG.md +5 -0
  8. data/Gemfile +5 -1
  9. data/Gemfile.lock +85 -48
  10. data/README.md +43 -18
  11. data/docs/AddFieldsData.md +13 -3
  12. data/docs/AddFieldsTemplateResponse.md +17 -5
  13. data/docs/AuthenticationError.md +15 -4
  14. data/docs/AuthenticationSuccessResponse.md +13 -3
  15. data/docs/CombinePdfsData.md +23 -8
  16. data/docs/CombinedSubmission.md +37 -13
  17. data/docs/CombinedSubmissionAction.md +23 -8
  18. data/docs/CombinedSubmissionData.md +21 -7
  19. data/docs/CopyTemplateData.md +15 -4
  20. data/docs/CreateCombinedSubmissionResponse.md +17 -5
  21. data/docs/CreateCustomFileData.md +13 -3
  22. data/docs/CreateCustomFileResponse.md +17 -5
  23. data/docs/CreateFolderAttributes.md +20 -0
  24. data/docs/CreateFolderData.md +13 -3
  25. data/docs/CreateHtmlTemplateData.md +13 -3
  26. data/docs/CreateSubmissionBatchResponse.md +21 -7
  27. data/docs/CreateSubmissionBatchSubmissionsResponse.md +17 -5
  28. data/docs/CreateSubmissionData.md +36 -0
  29. data/docs/CreateSubmissionDataRequestData.md +37 -15
  30. data/docs/CreateSubmissionDataRequestEventRequest.md +24 -0
  31. data/docs/CreateSubmissionDataRequestEventResponse.md +22 -0
  32. data/docs/CreateSubmissionDataRequestTokenResponse.md +17 -5
  33. data/docs/CreateSubmissionResponse.md +17 -5
  34. data/docs/CreateTemplateFromUploadData.md +13 -3
  35. data/docs/DataRequestToken.md +24 -0
  36. data/docs/DeleteTemplateResponse.md +20 -0
  37. data/docs/ErrorResponse.md +20 -0
  38. data/docs/Folder.md +19 -6
  39. data/docs/FullTemplate.md +94 -0
  40. data/docs/HtmlTemplateData.md +51 -19
  41. data/docs/HtmlTemplateDataWebhookOptions.md +18 -0
  42. data/docs/InvalidRequest.md +15 -4
  43. data/docs/InvalidRequestSingleError.md +20 -0
  44. data/docs/ListSubmissionsResponse.md +17 -5
  45. data/docs/MoveFolderData.md +13 -3
  46. data/docs/MoveTemplateData.md +13 -3
  47. data/docs/PDFApi.md +1598 -523
  48. data/docs/PendingTemplate.md +45 -19
  49. data/docs/PreviewPdfResponse.md +20 -0
  50. data/docs/PublishTemplateVersion404Response.md +20 -0
  51. data/docs/PublishTemplateVersion422Response.md +20 -0
  52. data/docs/PublishTemplateVersionResponse.md +20 -0
  53. data/docs/PublishTemplateVersionResponseResult.md +24 -0
  54. data/docs/PublishVersionData.md +20 -0
  55. data/docs/RenameFolderData.md +13 -3
  56. data/docs/RestoreTemplateVersionResponse.md +18 -0
  57. data/docs/RestoreVersionData.md +18 -0
  58. data/docs/Submission.md +49 -21
  59. data/docs/SubmissionAction.md +23 -8
  60. data/docs/SubmissionBatch.md +29 -11
  61. data/docs/SubmissionBatchData.md +21 -6
  62. data/docs/SubmissionData.md +23 -10
  63. data/docs/SubmissionDataBatchRequest.md +25 -8
  64. data/docs/SubmissionDataRequest.md +53 -22
  65. data/docs/SubmissionDataRequestEvent.md +30 -0
  66. data/docs/Template.md +51 -22
  67. data/docs/TemplateData.md +49 -18
  68. data/docs/TemplateDefaults.md +22 -0
  69. data/docs/TemplateDocument.md +22 -0
  70. data/docs/TemplateDocumentMetadata.md +22 -0
  71. data/docs/TemplateSchema.md +34 -0
  72. data/docs/UpdateDataRequestResponse.md +17 -5
  73. data/docs/UpdateSubmissionDataRequestData.md +37 -15
  74. data/docs/UpdateTemplateData.md +13 -3
  75. data/docs/UpdateTemplateResponse.md +15 -4
  76. data/docs/UploadPresign.md +24 -0
  77. data/docs/UploadTemplateData.md +53 -20
  78. data/docspring.gemspec +14 -11
  79. data/git_push.sh +11 -9
  80. data/lib/docspring/api/pdf_api.rb +1344 -539
  81. data/lib/docspring/api_client.rb +106 -98
  82. data/lib/docspring/api_error.rb +22 -2
  83. data/lib/docspring/configuration.rb +127 -16
  84. data/lib/docspring/models/add_fields_data.rb +59 -26
  85. data/lib/docspring/models/add_fields_template_response.rb +81 -43
  86. data/lib/docspring/models/authentication_error.rb +62 -29
  87. data/lib/docspring/models/authentication_success_response.rb +66 -28
  88. data/lib/docspring/models/combine_pdfs_data.rb +65 -32
  89. data/lib/docspring/models/combined_submission.rb +165 -75
  90. data/lib/docspring/models/combined_submission_action.rb +83 -39
  91. data/lib/docspring/models/combined_submission_data.rb +63 -30
  92. data/lib/docspring/models/copy_template_data.rb +59 -26
  93. data/lib/docspring/models/create_combined_submission_response.rb +86 -41
  94. data/lib/docspring/models/create_custom_file_data.rb +58 -25
  95. data/lib/docspring/models/create_custom_file_response.rb +86 -41
  96. data/lib/docspring/models/create_folder_attributes.rb +230 -0
  97. data/lib/docspring/models/create_folder_data.rb +59 -26
  98. data/lib/docspring/models/create_html_template_data.rb +58 -25
  99. data/lib/docspring/models/create_submission_batch_response.rb +104 -52
  100. data/lib/docspring/models/create_submission_batch_submissions_response.rb +79 -41
  101. data/lib/docspring/models/create_submission_data.rb +304 -0
  102. data/lib/docspring/models/create_submission_data_request_data.rb +139 -90
  103. data/lib/docspring/models/create_submission_data_request_event_request.rb +297 -0
  104. data/lib/docspring/models/create_submission_data_request_event_response.rb +282 -0
  105. data/lib/docspring/models/create_submission_data_request_token_response.rb +85 -40
  106. data/lib/docspring/models/create_submission_response.rb +86 -41
  107. data/lib/docspring/models/create_template_from_upload_data.rb +58 -25
  108. data/lib/docspring/models/{custom_file.rb → data_request_token.rb} +110 -33
  109. data/lib/docspring/models/delete_template_response.rb +266 -0
  110. data/lib/docspring/models/{error.rb → error_response.rb} +65 -30
  111. data/lib/docspring/models/folder.rb +78 -46
  112. data/lib/docspring/models/{template1.rb → full_template.rb} +476 -240
  113. data/lib/docspring/models/html_template_data.rb +180 -110
  114. data/lib/docspring/models/{folders_folder.rb → html_template_data_webhook_options.rb} +63 -41
  115. data/lib/docspring/models/invalid_request.rb +64 -29
  116. data/lib/docspring/models/invalid_request_single_error.rb +271 -0
  117. data/lib/docspring/models/list_submissions_response.rb +87 -39
  118. data/lib/docspring/models/move_folder_data.rb +56 -25
  119. data/lib/docspring/models/move_template_data.rb +58 -25
  120. data/lib/docspring/models/pending_template.rb +221 -118
  121. data/lib/docspring/models/preview_pdf_response.rb +264 -0
  122. data/lib/docspring/models/publish_template_version404_response.rb +271 -0
  123. data/lib/docspring/models/publish_template_version422_response.rb +273 -0
  124. data/lib/docspring/models/publish_template_version_response.rb +271 -0
  125. data/lib/docspring/models/publish_template_version_response_result.rb +263 -0
  126. data/lib/docspring/models/publish_version_data.rb +230 -0
  127. data/lib/docspring/models/rename_folder_data.rb +58 -25
  128. data/lib/docspring/models/restore_template_version_response.rb +255 -0
  129. data/lib/docspring/models/{create_submission_data_request_token_response_token.rb → restore_version_data.rb} +69 -58
  130. data/lib/docspring/models/submission.rb +98 -49
  131. data/lib/docspring/models/submission_action.rb +83 -39
  132. data/lib/docspring/models/submission_batch.rb +158 -75
  133. data/lib/docspring/models/submission_batch_data.rb +74 -30
  134. data/lib/docspring/models/submission_data.rb +65 -50
  135. data/lib/docspring/models/submission_data_batch_request.rb +100 -49
  136. data/lib/docspring/models/submission_data_request.rb +123 -54
  137. data/lib/docspring/models/submission_data_request_event.rb +309 -0
  138. data/lib/docspring/models/template.rb +267 -132
  139. data/lib/docspring/models/template_data.rb +173 -105
  140. data/lib/docspring/models/{template1_defaults.rb → template_defaults.rb} +77 -29
  141. data/lib/docspring/models/{upload_template_data_document.rb → template_document.rb} +91 -39
  142. data/lib/docspring/models/{upload_template_data_document_metadata.rb → template_document_metadata.rb} +94 -42
  143. data/lib/docspring/models/template_schema.rb +288 -0
  144. data/lib/docspring/models/update_data_request_response.rb +86 -41
  145. data/lib/docspring/models/update_submission_data_request_data.rb +82 -43
  146. data/lib/docspring/models/update_template_data.rb +58 -25
  147. data/lib/docspring/models/update_template_response.rb +79 -41
  148. data/lib/docspring/models/upload_presign.rb +296 -0
  149. data/lib/docspring/models/upload_template_data.rb +186 -116
  150. data/lib/docspring/version.rb +3 -3
  151. data/lib/docspring.rb +29 -12
  152. data/spec/api/client_integration_spec.rb +26 -19
  153. data/spec/api/pdf_api_integration_spec.rb +21 -19
  154. data/spec/api/pdf_api_spec_original.skipped.rb +427 -118
  155. data/spec/models/add_fields_data_spec.rb +8 -13
  156. data/spec/models/add_fields_template_response_spec.rb +16 -21
  157. data/spec/models/authentication_error_spec.rb +10 -15
  158. data/spec/models/authentication_success_response_spec.rb +9 -14
  159. data/spec/models/combine_pdfs_data_spec.rb +13 -18
  160. data/spec/models/combined_submission_action_spec.rb +16 -21
  161. data/spec/models/combined_submission_data_spec.rb +12 -17
  162. data/spec/models/combined_submission_spec.rb +42 -35
  163. data/spec/models/copy_template_data_spec.rb +9 -14
  164. data/spec/models/create_combined_submission_response_spec.rb +16 -21
  165. data/spec/models/create_custom_file_data_spec.rb +8 -13
  166. data/spec/models/create_custom_file_response_spec.rb +16 -21
  167. data/spec/models/create_folder_attributes_spec.rb +42 -0
  168. data/spec/models/create_folder_data_spec.rb +8 -13
  169. data/spec/models/create_html_template_data_spec.rb +8 -13
  170. data/spec/models/create_submission_batch_response_spec.rb +21 -26
  171. data/spec/models/create_submission_batch_submissions_response_spec.rb +16 -21
  172. data/spec/models/create_submission_data_request_data_spec.rb +33 -38
  173. data/spec/models/create_submission_data_request_event_request_spec.rb +62 -0
  174. data/spec/models/create_submission_data_request_event_response_spec.rb +52 -0
  175. data/spec/models/create_submission_data_request_token_response_spec.rb +15 -20
  176. data/spec/models/create_submission_data_spec.rb +90 -0
  177. data/spec/models/create_submission_response_spec.rb +16 -21
  178. data/spec/models/create_template_from_upload_data_spec.rb +8 -13
  179. data/spec/models/data_request_token_spec.rb +54 -0
  180. data/spec/models/delete_template_response_spec.rb +46 -0
  181. data/spec/models/error_response_spec.rb +46 -0
  182. data/spec/models/folder_spec.rb +15 -20
  183. data/spec/models/full_template_spec.rb +268 -0
  184. data/spec/models/html_template_data_spec.rb +62 -49
  185. data/spec/models/html_template_data_webhook_options_spec.rb +36 -0
  186. data/spec/models/invalid_request_single_error_spec.rb +46 -0
  187. data/spec/models/invalid_request_spec.rb +10 -15
  188. data/spec/models/list_submissions_response_spec.rb +13 -18
  189. data/spec/models/move_folder_data_spec.rb +8 -13
  190. data/spec/models/move_template_data_spec.rb +8 -13
  191. data/spec/models/pending_template_spec.rb +45 -50
  192. data/spec/models/preview_pdf_response_spec.rb +46 -0
  193. data/spec/models/publish_template_version404_response_spec.rb +46 -0
  194. data/spec/models/publish_template_version422_response_spec.rb +46 -0
  195. data/spec/models/publish_template_version_response_result_spec.rb +54 -0
  196. data/spec/models/publish_template_version_response_spec.rb +46 -0
  197. data/spec/models/publish_version_data_spec.rb +42 -0
  198. data/spec/models/rename_folder_data_spec.rb +8 -13
  199. data/spec/models/restore_template_version_response_spec.rb +40 -0
  200. data/spec/models/restore_version_data_spec.rb +36 -0
  201. data/spec/models/submission_action_spec.rb +16 -21
  202. data/spec/models/submission_batch_data_spec.rb +17 -16
  203. data/spec/models/submission_batch_spec.rb +29 -34
  204. data/spec/models/submission_data_batch_request_spec.rb +24 -23
  205. data/spec/models/submission_data_request_event_spec.rb +72 -0
  206. data/spec/models/submission_data_request_spec.rb +36 -35
  207. data/spec/models/submission_data_spec.rb +13 -30
  208. data/spec/models/submission_spec.rb +27 -32
  209. data/spec/models/template_data_spec.rb +59 -46
  210. data/spec/models/template_defaults_spec.rb +48 -0
  211. data/spec/models/template_document_metadata_spec.rb +52 -0
  212. data/spec/models/template_document_spec.rb +52 -0
  213. data/spec/models/template_schema_spec.rb +84 -0
  214. data/spec/models/template_spec.rb +50 -55
  215. data/spec/models/update_data_request_response_spec.rb +16 -21
  216. data/spec/models/update_submission_data_request_data_spec.rb +22 -27
  217. data/spec/models/update_template_data_spec.rb +8 -13
  218. data/spec/models/update_template_response_spec.rb +14 -19
  219. data/spec/models/upload_presign_spec.rb +58 -0
  220. data/spec/models/upload_template_data_spec.rb +64 -51
  221. data/spec/spec_helper.rb +5 -5
  222. metadata +108 -132
  223. data/docs/CreateSubmissionDataRequestTokenResponseToken.md +0 -11
  224. data/docs/CustomFile.md +0 -9
  225. data/docs/Error.md +0 -9
  226. data/docs/FoldersFolder.md +0 -9
  227. data/docs/Template1.md +0 -46
  228. data/docs/Template1Defaults.md +0 -10
  229. data/docs/TemplatestemplateIdaddFieldsFields.md +0 -92
  230. data/docs/UploadTemplateDataDocument.md +0 -10
  231. data/docs/UploadTemplateDataDocumentMetadata.md +0 -10
  232. data/lib/docspring/models/templatestemplate_idadd_fields_fields.rb +0 -1306
  233. data/spec/api_client_spec.rb +0 -226
  234. data/spec/configuration_spec.rb +0 -53
  235. data/spec/models/create_submission_data_request_token_response_token_spec.rb +0 -59
  236. data/spec/models/custom_file_spec.rb +0 -47
  237. data/spec/models/error_spec.rb +0 -51
  238. data/spec/models/folders_folder_spec.rb +0 -47
  239. data/spec/models/template1_defaults_spec.rb +0 -53
  240. data/spec/models/template1_spec.rb +0 -273
  241. data/spec/models/templatestemplate_idadd_fields_fields_spec.rb +0 -589
  242. data/spec/models/upload_template_data_document_metadata_spec.rb +0 -57
  243. data/spec/models/upload_template_data_document_spec.rb +0 -57
@@ -3,56 +3,57 @@
3
3
 
4
4
  #DocSpring is a service that helps you fill out and sign PDF templates.
5
5
 
6
- OpenAPI spec version: v1
6
+ The version of the OpenAPI document: v1
7
7
 
8
8
  Generated by: https://openapi-generator.tech
9
- OpenAPI Generator version: 3.3.0
9
+ Generator version: 7.11.0
10
10
 
11
11
  =end
12
12
 
13
13
  require 'date'
14
+ require 'time'
14
15
 
15
16
  module DocSpring
16
17
  class Template
17
- attr_accessor :expiration_interval
18
-
19
- attr_accessor :webhook_url
20
-
21
- attr_accessor :parent_folder_id
22
-
23
- attr_accessor :expire_after
24
-
25
- attr_accessor :allow_additional_properties
18
+ attr_accessor :name
26
19
 
27
20
  attr_accessor :description
28
21
 
22
+ attr_accessor :public_web_form
23
+
29
24
  attr_accessor :public_submissions
30
25
 
31
- attr_accessor :slack_webhook_url
26
+ attr_accessor :expire_submissions
32
27
 
33
- attr_accessor :path
28
+ attr_accessor :expire_after
34
29
 
35
- attr_accessor :public_web_form
30
+ attr_accessor :expiration_interval
31
+
32
+ attr_accessor :allow_additional_properties
36
33
 
37
34
  attr_accessor :editable_submissions
38
35
 
39
- attr_accessor :expire_submissions
36
+ attr_accessor :locked
40
37
 
41
- attr_accessor :name
38
+ attr_accessor :webhook_url
42
39
 
43
- attr_accessor :permanent_document_url
40
+ attr_accessor :slack_webhook_url
44
41
 
45
- attr_accessor :template_type
42
+ attr_accessor :redirect_url
46
43
 
47
44
  attr_accessor :id
48
45
 
46
+ attr_accessor :template_type
47
+
49
48
  attr_accessor :page_dimensions
50
49
 
51
- attr_accessor :locked
50
+ attr_accessor :document_url
52
51
 
53
- attr_accessor :redirect_url
52
+ attr_accessor :permanent_document_url
54
53
 
55
- attr_accessor :document_url
54
+ attr_accessor :path
55
+
56
+ attr_accessor :parent_folder_id
56
57
 
57
58
  class EnumAttributeValidator
58
59
  attr_reader :datatype
@@ -79,167 +80,291 @@ module DocSpring
79
80
  # Attribute mapping from ruby-style variable name to JSON key.
80
81
  def self.attribute_map
81
82
  {
82
- :'expiration_interval' => :'expiration_interval',
83
- :'webhook_url' => :'webhook_url',
84
- :'parent_folder_id' => :'parent_folder_id',
85
- :'expire_after' => :'expire_after',
86
- :'allow_additional_properties' => :'allow_additional_properties',
83
+ :'name' => :'name',
87
84
  :'description' => :'description',
88
- :'public_submissions' => :'public_submissions',
89
- :'slack_webhook_url' => :'slack_webhook_url',
90
- :'path' => :'path',
91
85
  :'public_web_form' => :'public_web_form',
92
- :'editable_submissions' => :'editable_submissions',
86
+ :'public_submissions' => :'public_submissions',
93
87
  :'expire_submissions' => :'expire_submissions',
94
- :'name' => :'name',
95
- :'permanent_document_url' => :'permanent_document_url',
96
- :'template_type' => :'template_type',
97
- :'id' => :'id',
98
- :'page_dimensions' => :'page_dimensions',
88
+ :'expire_after' => :'expire_after',
89
+ :'expiration_interval' => :'expiration_interval',
90
+ :'allow_additional_properties' => :'allow_additional_properties',
91
+ :'editable_submissions' => :'editable_submissions',
99
92
  :'locked' => :'locked',
93
+ :'webhook_url' => :'webhook_url',
94
+ :'slack_webhook_url' => :'slack_webhook_url',
100
95
  :'redirect_url' => :'redirect_url',
101
- :'document_url' => :'document_url'
96
+ :'id' => :'id',
97
+ :'template_type' => :'template_type',
98
+ :'page_dimensions' => :'page_dimensions',
99
+ :'document_url' => :'document_url',
100
+ :'permanent_document_url' => :'permanent_document_url',
101
+ :'path' => :'path',
102
+ :'parent_folder_id' => :'parent_folder_id'
102
103
  }
103
104
  end
104
105
 
106
+ # Returns all the JSON keys this model knows about
107
+ def self.acceptable_attributes
108
+ attribute_map.values
109
+ end
110
+
105
111
  # Attribute type mapping.
106
112
  def self.openapi_types
107
113
  {
114
+ :'name' => :'String',
115
+ :'description' => :'String',
116
+ :'public_web_form' => :'Boolean',
117
+ :'public_submissions' => :'Boolean',
118
+ :'expire_submissions' => :'Boolean',
119
+ :'expire_after' => :'Float',
108
120
  :'expiration_interval' => :'String',
121
+ :'allow_additional_properties' => :'Boolean',
122
+ :'editable_submissions' => :'Boolean',
123
+ :'locked' => :'Boolean',
109
124
  :'webhook_url' => :'String',
110
- :'parent_folder_id' => :'String',
111
- :'expire_after' => :'Float',
112
- :'allow_additional_properties' => :'BOOLEAN',
113
- :'description' => :'String',
114
- :'public_submissions' => :'BOOLEAN',
115
125
  :'slack_webhook_url' => :'String',
116
- :'path' => :'String',
117
- :'public_web_form' => :'BOOLEAN',
118
- :'editable_submissions' => :'BOOLEAN',
119
- :'expire_submissions' => :'BOOLEAN',
120
- :'name' => :'String',
121
- :'permanent_document_url' => :'String',
122
- :'template_type' => :'String',
126
+ :'redirect_url' => :'String',
123
127
  :'id' => :'String',
128
+ :'template_type' => :'String',
124
129
  :'page_dimensions' => :'Array<Array<Float>>',
125
- :'locked' => :'BOOLEAN',
126
- :'redirect_url' => :'String',
127
- :'document_url' => :'String'
130
+ :'document_url' => :'String',
131
+ :'permanent_document_url' => :'String',
132
+ :'path' => :'String',
133
+ :'parent_folder_id' => :'String'
128
134
  }
129
135
  end
130
136
 
137
+ # List of attributes with nullable: true
138
+ def self.openapi_nullable
139
+ Set.new([
140
+ :'name',
141
+ :'description',
142
+ :'webhook_url',
143
+ :'slack_webhook_url',
144
+ :'redirect_url',
145
+ :'page_dimensions',
146
+ :'document_url',
147
+ :'permanent_document_url',
148
+ :'parent_folder_id'
149
+ ])
150
+ end
151
+
131
152
  # Initializes the object
132
153
  # @param [Hash] attributes Model attributes in the form of hash
133
154
  def initialize(attributes = {})
134
- return unless attributes.is_a?(Hash)
135
-
136
- # convert string to symbol for hash key
137
- attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
138
-
139
- if attributes.has_key?(:'expiration_interval')
140
- self.expiration_interval = attributes[:'expiration_interval']
155
+ if (!attributes.is_a?(Hash))
156
+ fail ArgumentError, "The input argument (attributes) must be a hash in `DocSpring::Template` initialize method"
141
157
  end
142
158
 
143
- if attributes.has_key?(:'webhook_url')
144
- self.webhook_url = attributes[:'webhook_url']
145
- end
159
+ # check to see if the attribute exists and convert string to symbol for hash key
160
+ attributes = attributes.each_with_object({}) { |(k, v), h|
161
+ if (!self.class.attribute_map.key?(k.to_sym))
162
+ fail ArgumentError, "`#{k}` is not a valid attribute in `DocSpring::Template`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
163
+ end
164
+ h[k.to_sym] = v
165
+ }
146
166
 
147
- if attributes.has_key?(:'parent_folder_id')
148
- self.parent_folder_id = attributes[:'parent_folder_id']
167
+ if attributes.key?(:'name')
168
+ self.name = attributes[:'name']
169
+ else
170
+ self.name = nil
149
171
  end
150
172
 
151
- if attributes.has_key?(:'expire_after')
152
- self.expire_after = attributes[:'expire_after']
173
+ if attributes.key?(:'description')
174
+ self.description = attributes[:'description']
175
+ else
176
+ self.description = nil
153
177
  end
154
178
 
155
- if attributes.has_key?(:'allow_additional_properties')
156
- self.allow_additional_properties = attributes[:'allow_additional_properties']
179
+ if attributes.key?(:'public_web_form')
180
+ self.public_web_form = attributes[:'public_web_form']
181
+ else
182
+ self.public_web_form = nil
157
183
  end
158
184
 
159
- if attributes.has_key?(:'description')
160
- self.description = attributes[:'description']
185
+ if attributes.key?(:'public_submissions')
186
+ self.public_submissions = attributes[:'public_submissions']
187
+ else
188
+ self.public_submissions = nil
161
189
  end
162
190
 
163
- if attributes.has_key?(:'public_submissions')
164
- self.public_submissions = attributes[:'public_submissions']
191
+ if attributes.key?(:'expire_submissions')
192
+ self.expire_submissions = attributes[:'expire_submissions']
193
+ else
194
+ self.expire_submissions = nil
165
195
  end
166
196
 
167
- if attributes.has_key?(:'slack_webhook_url')
168
- self.slack_webhook_url = attributes[:'slack_webhook_url']
197
+ if attributes.key?(:'expire_after')
198
+ self.expire_after = attributes[:'expire_after']
199
+ else
200
+ self.expire_after = nil
169
201
  end
170
202
 
171
- if attributes.has_key?(:'path')
172
- self.path = attributes[:'path']
203
+ if attributes.key?(:'expiration_interval')
204
+ self.expiration_interval = attributes[:'expiration_interval']
205
+ else
206
+ self.expiration_interval = nil
173
207
  end
174
208
 
175
- if attributes.has_key?(:'public_web_form')
176
- self.public_web_form = attributes[:'public_web_form']
209
+ if attributes.key?(:'allow_additional_properties')
210
+ self.allow_additional_properties = attributes[:'allow_additional_properties']
211
+ else
212
+ self.allow_additional_properties = nil
177
213
  end
178
214
 
179
- if attributes.has_key?(:'editable_submissions')
215
+ if attributes.key?(:'editable_submissions')
180
216
  self.editable_submissions = attributes[:'editable_submissions']
217
+ else
218
+ self.editable_submissions = nil
181
219
  end
182
220
 
183
- if attributes.has_key?(:'expire_submissions')
184
- self.expire_submissions = attributes[:'expire_submissions']
221
+ if attributes.key?(:'locked')
222
+ self.locked = attributes[:'locked']
223
+ else
224
+ self.locked = nil
185
225
  end
186
226
 
187
- if attributes.has_key?(:'name')
188
- self.name = attributes[:'name']
227
+ if attributes.key?(:'webhook_url')
228
+ self.webhook_url = attributes[:'webhook_url']
229
+ else
230
+ self.webhook_url = nil
189
231
  end
190
232
 
191
- if attributes.has_key?(:'permanent_document_url')
192
- self.permanent_document_url = attributes[:'permanent_document_url']
233
+ if attributes.key?(:'slack_webhook_url')
234
+ self.slack_webhook_url = attributes[:'slack_webhook_url']
235
+ else
236
+ self.slack_webhook_url = nil
193
237
  end
194
238
 
195
- if attributes.has_key?(:'template_type')
196
- self.template_type = attributes[:'template_type']
239
+ if attributes.key?(:'redirect_url')
240
+ self.redirect_url = attributes[:'redirect_url']
241
+ else
242
+ self.redirect_url = nil
197
243
  end
198
244
 
199
- if attributes.has_key?(:'id')
245
+ if attributes.key?(:'id')
200
246
  self.id = attributes[:'id']
247
+ else
248
+ self.id = nil
201
249
  end
202
250
 
203
- if attributes.has_key?(:'page_dimensions')
251
+ if attributes.key?(:'template_type')
252
+ self.template_type = attributes[:'template_type']
253
+ else
254
+ self.template_type = nil
255
+ end
256
+
257
+ if attributes.key?(:'page_dimensions')
204
258
  if (value = attributes[:'page_dimensions']).is_a?(Array)
205
259
  self.page_dimensions = value
206
260
  end
261
+ else
262
+ self.page_dimensions = nil
207
263
  end
208
264
 
209
- if attributes.has_key?(:'locked')
210
- self.locked = attributes[:'locked']
265
+ if attributes.key?(:'document_url')
266
+ self.document_url = attributes[:'document_url']
267
+ else
268
+ self.document_url = nil
211
269
  end
212
270
 
213
- if attributes.has_key?(:'redirect_url')
214
- self.redirect_url = attributes[:'redirect_url']
271
+ if attributes.key?(:'permanent_document_url')
272
+ self.permanent_document_url = attributes[:'permanent_document_url']
273
+ else
274
+ self.permanent_document_url = nil
215
275
  end
216
276
 
217
- if attributes.has_key?(:'document_url')
218
- self.document_url = attributes[:'document_url']
277
+ if attributes.key?(:'path')
278
+ self.path = attributes[:'path']
279
+ else
280
+ self.path = nil
281
+ end
282
+
283
+ if attributes.key?(:'parent_folder_id')
284
+ self.parent_folder_id = attributes[:'parent_folder_id']
285
+ else
286
+ self.parent_folder_id = nil
219
287
  end
220
288
  end
221
289
 
222
290
  # Show invalid properties with the reasons. Usually used together with valid?
223
291
  # @return Array for valid properties with the reasons
224
292
  def list_invalid_properties
293
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
225
294
  invalid_properties = Array.new
295
+ if @public_web_form.nil?
296
+ invalid_properties.push('invalid value for "public_web_form", public_web_form cannot be nil.')
297
+ end
298
+
299
+ if @public_submissions.nil?
300
+ invalid_properties.push('invalid value for "public_submissions", public_submissions cannot be nil.')
301
+ end
302
+
303
+ if @expire_submissions.nil?
304
+ invalid_properties.push('invalid value for "expire_submissions", expire_submissions cannot be nil.')
305
+ end
306
+
307
+ if @expire_after.nil?
308
+ invalid_properties.push('invalid value for "expire_after", expire_after cannot be nil.')
309
+ end
310
+
311
+ if @expiration_interval.nil?
312
+ invalid_properties.push('invalid value for "expiration_interval", expiration_interval cannot be nil.')
313
+ end
314
+
315
+ if @allow_additional_properties.nil?
316
+ invalid_properties.push('invalid value for "allow_additional_properties", allow_additional_properties cannot be nil.')
317
+ end
318
+
319
+ if @editable_submissions.nil?
320
+ invalid_properties.push('invalid value for "editable_submissions", editable_submissions cannot be nil.')
321
+ end
322
+
323
+ if @locked.nil?
324
+ invalid_properties.push('invalid value for "locked", locked cannot be nil.')
325
+ end
326
+
327
+ if @id.nil?
328
+ invalid_properties.push('invalid value for "id", id cannot be nil.')
329
+ end
330
+
331
+ if @template_type.nil?
332
+ invalid_properties.push('invalid value for "template_type", template_type cannot be nil.')
333
+ end
334
+
335
+ if @path.nil?
336
+ invalid_properties.push('invalid value for "path", path cannot be nil.')
337
+ end
338
+
226
339
  invalid_properties
227
340
  end
228
341
 
229
342
  # Check to see if the all the properties in the model are valid
230
343
  # @return true if the model is valid
231
344
  def valid?
232
- expiration_interval_validator = EnumAttributeValidator.new('String', ['minutes', 'hours', 'days'])
345
+ warn '[DEPRECATED] the `valid?` method is obsolete'
346
+ return false if @public_web_form.nil?
347
+ return false if @public_submissions.nil?
348
+ return false if @expire_submissions.nil?
349
+ return false if @expire_after.nil?
350
+ return false if @expiration_interval.nil?
351
+ expiration_interval_validator = EnumAttributeValidator.new('String', ["minutes", "hours", "days"])
233
352
  return false unless expiration_interval_validator.valid?(@expiration_interval)
353
+ return false if @allow_additional_properties.nil?
354
+ return false if @editable_submissions.nil?
355
+ return false if @locked.nil?
356
+ return false if @id.nil?
357
+ return false if @template_type.nil?
358
+ return false if @path.nil?
234
359
  true
235
360
  end
236
361
 
237
362
  # Custom attribute writer method checking allowed values (enum).
238
363
  # @param [Object] expiration_interval Object to be assigned
239
364
  def expiration_interval=(expiration_interval)
240
- validator = EnumAttributeValidator.new('String', ['minutes', 'hours', 'days'])
365
+ validator = EnumAttributeValidator.new('String', ["minutes", "hours", "days"])
241
366
  unless validator.valid?(expiration_interval)
242
- fail ArgumentError, 'invalid value for "expiration_interval", must be one of #{validator.allowable_values}.'
367
+ fail ArgumentError, "invalid value for \"expiration_interval\", must be one of #{validator.allowable_values}."
243
368
  end
244
369
  @expiration_interval = expiration_interval
245
370
  end
@@ -249,26 +374,26 @@ module DocSpring
249
374
  def ==(o)
250
375
  return true if self.equal?(o)
251
376
  self.class == o.class &&
252
- expiration_interval == o.expiration_interval &&
253
- webhook_url == o.webhook_url &&
254
- parent_folder_id == o.parent_folder_id &&
255
- expire_after == o.expire_after &&
256
- allow_additional_properties == o.allow_additional_properties &&
377
+ name == o.name &&
257
378
  description == o.description &&
258
- public_submissions == o.public_submissions &&
259
- slack_webhook_url == o.slack_webhook_url &&
260
- path == o.path &&
261
379
  public_web_form == o.public_web_form &&
262
- editable_submissions == o.editable_submissions &&
380
+ public_submissions == o.public_submissions &&
263
381
  expire_submissions == o.expire_submissions &&
264
- name == o.name &&
265
- permanent_document_url == o.permanent_document_url &&
266
- template_type == o.template_type &&
267
- id == o.id &&
268
- page_dimensions == o.page_dimensions &&
382
+ expire_after == o.expire_after &&
383
+ expiration_interval == o.expiration_interval &&
384
+ allow_additional_properties == o.allow_additional_properties &&
385
+ editable_submissions == o.editable_submissions &&
269
386
  locked == o.locked &&
387
+ webhook_url == o.webhook_url &&
388
+ slack_webhook_url == o.slack_webhook_url &&
270
389
  redirect_url == o.redirect_url &&
271
- document_url == o.document_url
390
+ id == o.id &&
391
+ template_type == o.template_type &&
392
+ page_dimensions == o.page_dimensions &&
393
+ document_url == o.document_url &&
394
+ permanent_document_url == o.permanent_document_url &&
395
+ path == o.path &&
396
+ parent_folder_id == o.parent_folder_id
272
397
  end
273
398
 
274
399
  # @see the `==` method
@@ -278,39 +403,42 @@ module DocSpring
278
403
  end
279
404
 
280
405
  # Calculates hash code according to all attributes.
281
- # @return [Fixnum] Hash code
406
+ # @return [Integer] Hash code
282
407
  def hash
283
- [expiration_interval, webhook_url, parent_folder_id, expire_after, allow_additional_properties, description, public_submissions, slack_webhook_url, path, public_web_form, editable_submissions, expire_submissions, name, permanent_document_url, template_type, id, page_dimensions, locked, redirect_url, document_url].hash
408
+ [name, description, public_web_form, public_submissions, expire_submissions, expire_after, expiration_interval, allow_additional_properties, editable_submissions, locked, webhook_url, slack_webhook_url, redirect_url, id, template_type, page_dimensions, document_url, permanent_document_url, path, parent_folder_id].hash
284
409
  end
285
410
 
286
411
  # Builds the object from hash
287
412
  # @param [Hash] attributes Model attributes in the form of hash
288
413
  # @return [Object] Returns the model itself
289
- def build_from_hash(attributes)
414
+ def self.build_from_hash(attributes)
290
415
  return nil unless attributes.is_a?(Hash)
291
- self.class.openapi_types.each_pair do |key, type|
292
- if type =~ /\AArray<(.*)>/i
293
- # check to ensure the input is an array given that the the attribute
416
+ attributes = attributes.transform_keys(&:to_sym)
417
+ transformed_hash = {}
418
+ openapi_types.each_pair do |key, type|
419
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
420
+ transformed_hash["#{key}"] = nil
421
+ elsif type =~ /\AArray<(.*)>/i
422
+ # check to ensure the input is an array given that the attribute
294
423
  # is documented as an array but the input is not
295
- if attributes[self.class.attribute_map[key]].is_a?(Array)
296
- self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
424
+ if attributes[attribute_map[key]].is_a?(Array)
425
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
297
426
  end
298
- elsif !attributes[self.class.attribute_map[key]].nil?
299
- self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
300
- end # or else data not found in attributes(hash), not an issue as the data can be optional
427
+ elsif !attributes[attribute_map[key]].nil?
428
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
429
+ end
301
430
  end
302
-
303
- self
431
+ new(transformed_hash)
304
432
  end
305
433
 
306
434
  # Deserializes the data based on type
307
435
  # @param string type Data type
308
436
  # @param string value Value to be deserialized
309
437
  # @return [Object] Deserialized data
310
- def _deserialize(type, value)
438
+ def self._deserialize(type, value)
311
439
  case type.to_sym
312
- when :DateTime
313
- DateTime.parse(value)
440
+ when :Time
441
+ Time.parse(value)
314
442
  when :Date
315
443
  Date.parse(value)
316
444
  when :String
@@ -319,7 +447,7 @@ module DocSpring
319
447
  value.to_i
320
448
  when :Float
321
449
  value.to_f
322
- when :BOOLEAN
450
+ when :Boolean
323
451
  if value.to_s =~ /\A(true|t|yes|y|1)\z/i
324
452
  true
325
453
  else
@@ -340,8 +468,9 @@ module DocSpring
340
468
  end
341
469
  end
342
470
  else # model
343
- temp_model = DocSpring.const_get(type).new
344
- temp_model.build_from_hash(value)
471
+ # models (e.g. Pet) or oneOf
472
+ klass = DocSpring.const_get(type)
473
+ klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
345
474
  end
346
475
  end
347
476
 
@@ -363,7 +492,11 @@ module DocSpring
363
492
  hash = {}
364
493
  self.class.attribute_map.each_pair do |attr, param|
365
494
  value = self.send(attr)
366
- next if value.nil?
495
+ if value.nil?
496
+ is_nullable = self.class.openapi_nullable.include?(attr)
497
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
498
+ end
499
+
367
500
  hash[param] = _to_hash(value)
368
501
  end
369
502
  hash
@@ -386,5 +519,7 @@ module DocSpring
386
519
  value
387
520
  end
388
521
  end
522
+
389
523
  end
524
+
390
525
  end