dropbox-sign 1.0.0.pre.beta2301

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 (552) hide show
  1. checksums.yaml +7 -0
  2. data/Gemfile +10 -0
  3. data/Gemfile.lock +78 -0
  4. data/LICENSE +21 -0
  5. data/README.md +333 -0
  6. data/Rakefile +10 -0
  7. data/bin/generate-examples.php +269 -0
  8. data/bin/php +16 -0
  9. data/bin/replace +11 -0
  10. data/bin/ruby +16 -0
  11. data/bin/scan_for +32 -0
  12. data/composer.json +10 -0
  13. data/composer.lock +246 -0
  14. data/docs/AccountApi.md +301 -0
  15. data/docs/AccountCreateRequest.md +13 -0
  16. data/docs/AccountCreateResponse.md +12 -0
  17. data/docs/AccountGetResponse.md +11 -0
  18. data/docs/AccountResponse.md +19 -0
  19. data/docs/AccountResponseQuotas.md +14 -0
  20. data/docs/AccountUpdateRequest.md +12 -0
  21. data/docs/AccountVerifyRequest.md +10 -0
  22. data/docs/AccountVerifyResponse.md +11 -0
  23. data/docs/AccountVerifyResponseAccount.md +10 -0
  24. data/docs/ApiAppApi.md +402 -0
  25. data/docs/ApiAppCreateRequest.md +16 -0
  26. data/docs/ApiAppGetResponse.md +11 -0
  27. data/docs/ApiAppListResponse.md +12 -0
  28. data/docs/ApiAppResponse.md +19 -0
  29. data/docs/ApiAppResponseOAuth.md +13 -0
  30. data/docs/ApiAppResponseOptions.md +10 -0
  31. data/docs/ApiAppResponseOwnerAccount.md +11 -0
  32. data/docs/ApiAppResponseWhiteLabelingOptions.md +23 -0
  33. data/docs/ApiAppUpdateRequest.md +16 -0
  34. data/docs/BulkSendJobApi.md +155 -0
  35. data/docs/BulkSendJobGetResponse.md +13 -0
  36. data/docs/BulkSendJobGetResponseSignatureRequests.md +33 -0
  37. data/docs/BulkSendJobListResponse.md +12 -0
  38. data/docs/BulkSendJobResponse.md +13 -0
  39. data/docs/BulkSendJobSendResponse.md +11 -0
  40. data/docs/EmbeddedApi.md +158 -0
  41. data/docs/EmbeddedEditUrlRequest.md +19 -0
  42. data/docs/EmbeddedEditUrlResponse.md +11 -0
  43. data/docs/EmbeddedEditUrlResponseEmbedded.md +11 -0
  44. data/docs/EmbeddedSignUrlResponse.md +11 -0
  45. data/docs/EmbeddedSignUrlResponseEmbedded.md +11 -0
  46. data/docs/ErrorResponse.md +10 -0
  47. data/docs/ErrorResponseError.md +12 -0
  48. data/docs/EventCallbackRequest.md +13 -0
  49. data/docs/EventCallbackRequestEvent.md +13 -0
  50. data/docs/EventCallbackRequestEventMetadata.md +13 -0
  51. data/docs/FileResponse.md +11 -0
  52. data/docs/FileResponseDataUri.md +10 -0
  53. data/docs/ListInfoResponse.md +13 -0
  54. data/docs/OAuthApi.md +158 -0
  55. data/docs/OAuthTokenGenerateRequest.md +14 -0
  56. data/docs/OAuthTokenRefreshRequest.md +11 -0
  57. data/docs/OAuthTokenResponse.md +14 -0
  58. data/docs/ReportApi.md +83 -0
  59. data/docs/ReportCreateRequest.md +12 -0
  60. data/docs/ReportCreateResponse.md +11 -0
  61. data/docs/ReportResponse.md +13 -0
  62. data/docs/SignatureRequestApi.md +1377 -0
  63. data/docs/SignatureRequestBulkCreateEmbeddedWithTemplateRequest.md +22 -0
  64. data/docs/SignatureRequestBulkSendWithTemplateRequest.md +22 -0
  65. data/docs/SignatureRequestCreateEmbeddedRequest.md +33 -0
  66. data/docs/SignatureRequestCreateEmbeddedWithTemplateRequest.md +24 -0
  67. data/docs/SignatureRequestGetResponse.md +11 -0
  68. data/docs/SignatureRequestListResponse.md +12 -0
  69. data/docs/SignatureRequestRemindRequest.md +11 -0
  70. data/docs/SignatureRequestResponse.md +32 -0
  71. data/docs/SignatureRequestResponseAttachment.md +15 -0
  72. data/docs/SignatureRequestResponseCustomFieldBase.md +17 -0
  73. data/docs/SignatureRequestResponseCustomFieldCheckbox.md +11 -0
  74. data/docs/SignatureRequestResponseCustomFieldText.md +11 -0
  75. data/docs/SignatureRequestResponseCustomFieldTypeEnum.md +9 -0
  76. data/docs/SignatureRequestResponseDataBase.md +14 -0
  77. data/docs/SignatureRequestResponseDataTypeEnum.md +9 -0
  78. data/docs/SignatureRequestResponseDataValueCheckbox.md +11 -0
  79. data/docs/SignatureRequestResponseDataValueCheckboxMerge.md +11 -0
  80. data/docs/SignatureRequestResponseDataValueDateSigned.md +11 -0
  81. data/docs/SignatureRequestResponseDataValueDropdown.md +11 -0
  82. data/docs/SignatureRequestResponseDataValueInitials.md +11 -0
  83. data/docs/SignatureRequestResponseDataValueRadio.md +11 -0
  84. data/docs/SignatureRequestResponseDataValueSignature.md +11 -0
  85. data/docs/SignatureRequestResponseDataValueText.md +11 -0
  86. data/docs/SignatureRequestResponseDataValueTextMerge.md +11 -0
  87. data/docs/SignatureRequestResponseSignatures.md +28 -0
  88. data/docs/SignatureRequestSendRequest.md +34 -0
  89. data/docs/SignatureRequestSendWithTemplateRequest.md +25 -0
  90. data/docs/SignatureRequestUpdateRequest.md +13 -0
  91. data/docs/SubAttachment.md +13 -0
  92. data/docs/SubBulkSignerList.md +11 -0
  93. data/docs/SubBulkSignerListCustomField.md +11 -0
  94. data/docs/SubCC.md +11 -0
  95. data/docs/SubCustomField.md +17 -0
  96. data/docs/SubEditorOptions.md +11 -0
  97. data/docs/SubFieldOptions.md +10 -0
  98. data/docs/SubFormFieldGroup.md +12 -0
  99. data/docs/SubFormFieldRule.md +13 -0
  100. data/docs/SubFormFieldRuleAction.md +13 -0
  101. data/docs/SubFormFieldRuleTrigger.md +13 -0
  102. data/docs/SubFormFieldsPerDocumentBase.md +33 -0
  103. data/docs/SubFormFieldsPerDocumentCheckbox.md +12 -0
  104. data/docs/SubFormFieldsPerDocumentCheckboxMerge.md +10 -0
  105. data/docs/SubFormFieldsPerDocumentDateSigned.md +10 -0
  106. data/docs/SubFormFieldsPerDocumentDropdown.md +12 -0
  107. data/docs/SubFormFieldsPerDocumentHyperlink.md +12 -0
  108. data/docs/SubFormFieldsPerDocumentInitials.md +10 -0
  109. data/docs/SubFormFieldsPerDocumentRadio.md +12 -0
  110. data/docs/SubFormFieldsPerDocumentSignature.md +10 -0
  111. data/docs/SubFormFieldsPerDocumentText.md +17 -0
  112. data/docs/SubFormFieldsPerDocumentTextMerge.md +10 -0
  113. data/docs/SubFormFieldsPerDocumentTypeEnum.md +9 -0
  114. data/docs/SubMergeField.md +11 -0
  115. data/docs/SubOAuth.md +11 -0
  116. data/docs/SubOptions.md +10 -0
  117. data/docs/SubSignatureRequestGroupedSigners.md +12 -0
  118. data/docs/SubSignatureRequestSigner.md +15 -0
  119. data/docs/SubSignatureRequestTemplateSigner.md +15 -0
  120. data/docs/SubSigningOptions.md +16 -0
  121. data/docs/SubTeamResponse.md +11 -0
  122. data/docs/SubTemplateRole.md +11 -0
  123. data/docs/SubUnclaimedDraftSigner.md +12 -0
  124. data/docs/SubUnclaimedDraftTemplateSigner.md +12 -0
  125. data/docs/SubWhiteLabelingOptions.md +26 -0
  126. data/docs/TeamAddMemberRequest.md +12 -0
  127. data/docs/TeamApi.md +737 -0
  128. data/docs/TeamCreateRequest.md +10 -0
  129. data/docs/TeamGetInfoResponse.md +11 -0
  130. data/docs/TeamGetResponse.md +11 -0
  131. data/docs/TeamInfoResponse.md +14 -0
  132. data/docs/TeamInviteResponse.md +15 -0
  133. data/docs/TeamInvitesResponse.md +11 -0
  134. data/docs/TeamMemberResponse.md +12 -0
  135. data/docs/TeamMembersResponse.md +12 -0
  136. data/docs/TeamParentResponse.md +11 -0
  137. data/docs/TeamRemoveMemberRequest.md +14 -0
  138. data/docs/TeamResponse.md +12 -0
  139. data/docs/TeamSubTeamsResponse.md +12 -0
  140. data/docs/TeamUpdateRequest.md +10 -0
  141. data/docs/TemplateAddUserRequest.md +12 -0
  142. data/docs/TemplateApi.md +782 -0
  143. data/docs/TemplateCreateEmbeddedDraftRequest.md +34 -0
  144. data/docs/TemplateCreateEmbeddedDraftResponse.md +11 -0
  145. data/docs/TemplateCreateEmbeddedDraftResponseTemplate.md +13 -0
  146. data/docs/TemplateEditResponse.md +10 -0
  147. data/docs/TemplateGetResponse.md +11 -0
  148. data/docs/TemplateListResponse.md +12 -0
  149. data/docs/TemplateRemoveUserRequest.md +11 -0
  150. data/docs/TemplateResponse.md +24 -0
  151. data/docs/TemplateResponseAccount.md +15 -0
  152. data/docs/TemplateResponseAccountQuota.md +13 -0
  153. data/docs/TemplateResponseCCRole.md +10 -0
  154. data/docs/TemplateResponseCustomField.md +22 -0
  155. data/docs/TemplateResponseDocument.md +15 -0
  156. data/docs/TemplateResponseDocumentCustomField.md +25 -0
  157. data/docs/TemplateResponseDocumentFieldGroup.md +11 -0
  158. data/docs/TemplateResponseDocumentFormField.md +23 -0
  159. data/docs/TemplateResponseDocumentStaticField.md +19 -0
  160. data/docs/TemplateResponseFieldAvgTextLength.md +11 -0
  161. data/docs/TemplateResponseNamedFormField.md +23 -0
  162. data/docs/TemplateResponseSignerRole.md +11 -0
  163. data/docs/TemplateUpdateFilesRequest.md +15 -0
  164. data/docs/TemplateUpdateFilesResponse.md +10 -0
  165. data/docs/TemplateUpdateFilesResponseTemplate.md +11 -0
  166. data/docs/UnclaimedDraftApi.md +359 -0
  167. data/docs/UnclaimedDraftCreateEmbeddedRequest.md +45 -0
  168. data/docs/UnclaimedDraftCreateEmbeddedWithTemplateRequest.md +38 -0
  169. data/docs/UnclaimedDraftCreateRequest.md +33 -0
  170. data/docs/UnclaimedDraftCreateResponse.md +11 -0
  171. data/docs/UnclaimedDraftEditAndResendRequest.md +17 -0
  172. data/docs/UnclaimedDraftResponse.md +15 -0
  173. data/docs/WarningResponse.md +11 -0
  174. data/dropbox-sign.gemspec +38 -0
  175. data/examples/AccountCreate.rb +21 -0
  176. data/examples/AccountGet.rb +18 -0
  177. data/examples/AccountUpdate.rb +21 -0
  178. data/examples/AccountVerify.rb +21 -0
  179. data/examples/ApiAppCreate.rb +35 -0
  180. data/examples/ApiAppDelete.rb +20 -0
  181. data/examples/ApiAppGet.rb +20 -0
  182. data/examples/ApiAppList.rb +21 -0
  183. data/examples/ApiAppUpdate.rb +32 -0
  184. data/examples/BulkSendJobGet.rb +20 -0
  185. data/examples/BulkSendJobList.rb +21 -0
  186. data/examples/EmbeddedEditUrl.rb +24 -0
  187. data/examples/EmbeddedSignUrl.rb +20 -0
  188. data/examples/EventCallback.rb +32 -0
  189. data/examples/OauthTokenGenerate.rb +24 -0
  190. data/examples/OauthTokenRefresh.rb +21 -0
  191. data/examples/ReportCreate.rb +23 -0
  192. data/examples/SignatureRequestBulkCreateEmbeddedWithTemplate.rb +59 -0
  193. data/examples/SignatureRequestBulkSendWithTemplate.rb +58 -0
  194. data/examples/SignatureRequestCancel.rb +20 -0
  195. data/examples/SignatureRequestCreateEmbedded.rb +46 -0
  196. data/examples/SignatureRequestCreateEmbeddedWithTemplate.rb +39 -0
  197. data/examples/SignatureRequestFiles.rb +20 -0
  198. data/examples/SignatureRequestFilesAsDataUri.rb +20 -0
  199. data/examples/SignatureRequestFilesAsFileUrl.rb +20 -0
  200. data/examples/SignatureRequestGet.rb +20 -0
  201. data/examples/SignatureRequestList.rb +21 -0
  202. data/examples/SignatureRequestReleaseHold.rb +20 -0
  203. data/examples/SignatureRequestRemind.rb +23 -0
  204. data/examples/SignatureRequestRemove.rb +20 -0
  205. data/examples/SignatureRequestSend.rb +56 -0
  206. data/examples/SignatureRequestSendWithTemplate.rb +50 -0
  207. data/examples/SignatureRequestUpdate.rb +24 -0
  208. data/examples/TeamAddMember.rb +21 -0
  209. data/examples/TeamCreate.rb +21 -0
  210. data/examples/TeamDelete.rb +18 -0
  211. data/examples/TeamGet.rb +18 -0
  212. data/examples/TeamInfo.rb +18 -0
  213. data/examples/TeamInvites.rb +20 -0
  214. data/examples/TeamMembers.rb +20 -0
  215. data/examples/TeamRemoveMember.rb +22 -0
  216. data/examples/TeamSubTeams.rb +20 -0
  217. data/examples/TeamUpdate.rb +21 -0
  218. data/examples/TemplateAddUser.rb +23 -0
  219. data/examples/TemplateCreateEmbeddedDraft.rb +49 -0
  220. data/examples/TemplateDelete.rb +20 -0
  221. data/examples/TemplateFiles.rb +20 -0
  222. data/examples/TemplateFilesAsDataUri.rb +20 -0
  223. data/examples/TemplateFilesAsFileUrl.rb +20 -0
  224. data/examples/TemplateGet.rb +20 -0
  225. data/examples/TemplateList.rb +20 -0
  226. data/examples/TemplateRemoveUser.rb +23 -0
  227. data/examples/TemplateUpdateFiles.rb +23 -0
  228. data/examples/UnclaimedDraftCreate.rb +56 -0
  229. data/examples/UnclaimedDraftCreateEmbedded.rb +24 -0
  230. data/examples/UnclaimedDraftCreateEmbeddedWithTemplate.rb +35 -0
  231. data/examples/UnclaimedDraftEditAndResend.rb +24 -0
  232. data/lib/dropbox-sign/api/account_api.rb +446 -0
  233. data/lib/dropbox-sign/api/api_app_api.rb +504 -0
  234. data/lib/dropbox-sign/api/bulk_send_job_api.rb +213 -0
  235. data/lib/dropbox-sign/api/embedded_api.rb +234 -0
  236. data/lib/dropbox-sign/api/o_auth_api.rb +215 -0
  237. data/lib/dropbox-sign/api/report_api.rb +134 -0
  238. data/lib/dropbox-sign/api/signature_request_api.rb +1620 -0
  239. data/lib/dropbox-sign/api/team_api.rb +1011 -0
  240. data/lib/dropbox-sign/api/template_api.rb +1037 -0
  241. data/lib/dropbox-sign/api/unclaimed_draft_api.rb +467 -0
  242. data/lib/dropbox-sign/api_client.rb +417 -0
  243. data/lib/dropbox-sign/api_error.rb +60 -0
  244. data/lib/dropbox-sign/configuration.rb +303 -0
  245. data/lib/dropbox-sign/event_callback_helper.rb +54 -0
  246. data/lib/dropbox-sign/models/account_create_request.rb +285 -0
  247. data/lib/dropbox-sign/models/account_create_response.rb +270 -0
  248. data/lib/dropbox-sign/models/account_get_response.rb +261 -0
  249. data/lib/dropbox-sign/models/account_response.rb +343 -0
  250. data/lib/dropbox-sign/models/account_response_quotas.rb +296 -0
  251. data/lib/dropbox-sign/models/account_update_request.rb +271 -0
  252. data/lib/dropbox-sign/models/account_verify_request.rb +255 -0
  253. data/lib/dropbox-sign/models/account_verify_response.rb +261 -0
  254. data/lib/dropbox-sign/models/account_verify_response_account.rb +250 -0
  255. data/lib/dropbox-sign/models/api_app_create_request.rb +347 -0
  256. data/lib/dropbox-sign/models/api_app_get_response.rb +261 -0
  257. data/lib/dropbox-sign/models/api_app_list_response.rb +273 -0
  258. data/lib/dropbox-sign/models/api_app_response.rb +343 -0
  259. data/lib/dropbox-sign/models/api_app_response_o_auth.rb +283 -0
  260. data/lib/dropbox-sign/models/api_app_response_options.rb +251 -0
  261. data/lib/dropbox-sign/models/api_app_response_owner_account.rb +261 -0
  262. data/lib/dropbox-sign/models/api_app_response_white_labeling_options.rb +367 -0
  263. data/lib/dropbox-sign/models/api_app_update_request.rb +324 -0
  264. data/lib/dropbox-sign/models/bulk_send_job_get_response.rb +282 -0
  265. data/lib/dropbox-sign/models/bulk_send_job_get_response_signature_requests.rb +503 -0
  266. data/lib/dropbox-sign/models/bulk_send_job_list_response.rb +273 -0
  267. data/lib/dropbox-sign/models/bulk_send_job_response.rb +282 -0
  268. data/lib/dropbox-sign/models/bulk_send_job_send_response.rb +261 -0
  269. data/lib/dropbox-sign/models/embedded_edit_url_request.rb +357 -0
  270. data/lib/dropbox-sign/models/embedded_edit_url_response.rb +261 -0
  271. data/lib/dropbox-sign/models/embedded_edit_url_response_embedded.rb +261 -0
  272. data/lib/dropbox-sign/models/embedded_sign_url_response.rb +261 -0
  273. data/lib/dropbox-sign/models/embedded_sign_url_response_embedded.rb +261 -0
  274. data/lib/dropbox-sign/models/error_response.rb +254 -0
  275. data/lib/dropbox-sign/models/error_response_error.rb +281 -0
  276. data/lib/dropbox-sign/models/event_callback_request.rb +281 -0
  277. data/lib/dropbox-sign/models/event_callback_request_event.rb +334 -0
  278. data/lib/dropbox-sign/models/event_callback_request_event_metadata.rb +285 -0
  279. data/lib/dropbox-sign/models/file_response.rb +260 -0
  280. data/lib/dropbox-sign/models/file_response_data_uri.rb +250 -0
  281. data/lib/dropbox-sign/models/list_info_response.rb +282 -0
  282. data/lib/dropbox-sign/models/o_auth_token_generate_request.rb +317 -0
  283. data/lib/dropbox-sign/models/o_auth_token_refresh_request.rb +272 -0
  284. data/lib/dropbox-sign/models/o_auth_token_response.rb +287 -0
  285. data/lib/dropbox-sign/models/report_create_request.rb +319 -0
  286. data/lib/dropbox-sign/models/report_create_response.rb +261 -0
  287. data/lib/dropbox-sign/models/report_response.rb +305 -0
  288. data/lib/dropbox-sign/models/signature_request_bulk_create_embedded_with_template_request.rb +445 -0
  289. data/lib/dropbox-sign/models/signature_request_bulk_send_with_template_request.rb +440 -0
  290. data/lib/dropbox-sign/models/signature_request_create_embedded_request.rb +569 -0
  291. data/lib/dropbox-sign/models/signature_request_create_embedded_with_template_request.rb +475 -0
  292. data/lib/dropbox-sign/models/signature_request_get_response.rb +261 -0
  293. data/lib/dropbox-sign/models/signature_request_list_response.rb +273 -0
  294. data/lib/dropbox-sign/models/signature_request_remind_request.rb +265 -0
  295. data/lib/dropbox-sign/models/signature_request_response.rb +494 -0
  296. data/lib/dropbox-sign/models/signature_request_response_attachment.rb +323 -0
  297. data/lib/dropbox-sign/models/signature_request_response_custom_field_base.rb +316 -0
  298. data/lib/dropbox-sign/models/signature_request_response_custom_field_checkbox.rb +272 -0
  299. data/lib/dropbox-sign/models/signature_request_response_custom_field_text.rb +272 -0
  300. data/lib/dropbox-sign/models/signature_request_response_custom_field_type_enum.rb +40 -0
  301. data/lib/dropbox-sign/models/signature_request_response_data_base.rb +326 -0
  302. data/lib/dropbox-sign/models/signature_request_response_data_type_enum.rb +47 -0
  303. data/lib/dropbox-sign/models/signature_request_response_data_value_checkbox.rb +266 -0
  304. data/lib/dropbox-sign/models/signature_request_response_data_value_checkbox_merge.rb +266 -0
  305. data/lib/dropbox-sign/models/signature_request_response_data_value_date_signed.rb +266 -0
  306. data/lib/dropbox-sign/models/signature_request_response_data_value_dropdown.rb +266 -0
  307. data/lib/dropbox-sign/models/signature_request_response_data_value_initials.rb +266 -0
  308. data/lib/dropbox-sign/models/signature_request_response_data_value_radio.rb +266 -0
  309. data/lib/dropbox-sign/models/signature_request_response_data_value_signature.rb +266 -0
  310. data/lib/dropbox-sign/models/signature_request_response_data_value_text.rb +266 -0
  311. data/lib/dropbox-sign/models/signature_request_response_data_value_text_merge.rb +266 -0
  312. data/lib/dropbox-sign/models/signature_request_response_signatures.rb +446 -0
  313. data/lib/dropbox-sign/models/signature_request_send_request.rb +574 -0
  314. data/lib/dropbox-sign/models/signature_request_send_with_template_request.rb +480 -0
  315. data/lib/dropbox-sign/models/signature_request_update_request.rb +286 -0
  316. data/lib/dropbox-sign/models/sub_attachment.rb +292 -0
  317. data/lib/dropbox-sign/models/sub_bulk_signer_list.rb +264 -0
  318. data/lib/dropbox-sign/models/sub_bulk_signer_list_custom_field.rb +270 -0
  319. data/lib/dropbox-sign/models/sub_cc.rb +270 -0
  320. data/lib/dropbox-sign/models/sub_custom_field.rb +288 -0
  321. data/lib/dropbox-sign/models/sub_editor_options.rb +265 -0
  322. data/lib/dropbox-sign/models/sub_field_options.rb +290 -0
  323. data/lib/dropbox-sign/models/sub_form_field_group.rb +285 -0
  324. data/lib/dropbox-sign/models/sub_form_field_rule.rb +353 -0
  325. data/lib/dropbox-sign/models/sub_form_field_rule_action.rb +323 -0
  326. data/lib/dropbox-sign/models/sub_form_field_rule_trigger.rb +326 -0
  327. data/lib/dropbox-sign/models/sub_form_fields_per_document_base.rb +435 -0
  328. data/lib/dropbox-sign/models/sub_form_fields_per_document_checkbox.rb +287 -0
  329. data/lib/dropbox-sign/models/sub_form_fields_per_document_checkbox_merge.rb +262 -0
  330. data/lib/dropbox-sign/models/sub_form_fields_per_document_date_signed.rb +262 -0
  331. data/lib/dropbox-sign/models/sub_form_fields_per_document_dropdown.rb +308 -0
  332. data/lib/dropbox-sign/models/sub_form_fields_per_document_hyperlink.rb +292 -0
  333. data/lib/dropbox-sign/models/sub_form_fields_per_document_initials.rb +262 -0
  334. data/lib/dropbox-sign/models/sub_form_fields_per_document_radio.rb +292 -0
  335. data/lib/dropbox-sign/models/sub_form_fields_per_document_signature.rb +262 -0
  336. data/lib/dropbox-sign/models/sub_form_fields_per_document_text.rb +364 -0
  337. data/lib/dropbox-sign/models/sub_form_fields_per_document_text_merge.rb +262 -0
  338. data/lib/dropbox-sign/models/sub_form_fields_per_document_type_enum.rb +48 -0
  339. data/lib/dropbox-sign/models/sub_merge_field.rb +304 -0
  340. data/lib/dropbox-sign/models/sub_o_auth.rb +285 -0
  341. data/lib/dropbox-sign/models/sub_options.rb +253 -0
  342. data/lib/dropbox-sign/models/sub_signature_request_grouped_signers.rb +283 -0
  343. data/lib/dropbox-sign/models/sub_signature_request_signer.rb +369 -0
  344. data/lib/dropbox-sign/models/sub_signature_request_template_signer.rb +373 -0
  345. data/lib/dropbox-sign/models/sub_signing_options.rb +338 -0
  346. data/lib/dropbox-sign/models/sub_team_response.rb +260 -0
  347. data/lib/dropbox-sign/models/sub_template_role.rb +261 -0
  348. data/lib/dropbox-sign/models/sub_unclaimed_draft_signer.rb +281 -0
  349. data/lib/dropbox-sign/models/sub_unclaimed_draft_template_signer.rb +285 -0
  350. data/lib/dropbox-sign/models/sub_white_labeling_options.rb +439 -0
  351. data/lib/dropbox-sign/models/team_add_member_request.rb +304 -0
  352. data/lib/dropbox-sign/models/team_create_request.rb +252 -0
  353. data/lib/dropbox-sign/models/team_get_info_response.rb +261 -0
  354. data/lib/dropbox-sign/models/team_get_response.rb +261 -0
  355. data/lib/dropbox-sign/models/team_info_response.rb +290 -0
  356. data/lib/dropbox-sign/models/team_invite_response.rb +300 -0
  357. data/lib/dropbox-sign/models/team_invites_response.rb +263 -0
  358. data/lib/dropbox-sign/models/team_member_response.rb +270 -0
  359. data/lib/dropbox-sign/models/team_members_response.rb +272 -0
  360. data/lib/dropbox-sign/models/team_parent_response.rb +261 -0
  361. data/lib/dropbox-sign/models/team_remove_member_request.rb +324 -0
  362. data/lib/dropbox-sign/models/team_response.rb +274 -0
  363. data/lib/dropbox-sign/models/team_sub_teams_response.rb +272 -0
  364. data/lib/dropbox-sign/models/team_update_request.rb +250 -0
  365. data/lib/dropbox-sign/models/template_add_user_request.rb +272 -0
  366. data/lib/dropbox-sign/models/template_create_embedded_draft_request.rb +567 -0
  367. data/lib/dropbox-sign/models/template_create_embedded_draft_response.rb +261 -0
  368. data/lib/dropbox-sign/models/template_create_embedded_draft_response_template.rb +283 -0
  369. data/lib/dropbox-sign/models/template_edit_response.rb +250 -0
  370. data/lib/dropbox-sign/models/template_get_response.rb +261 -0
  371. data/lib/dropbox-sign/models/template_list_response.rb +273 -0
  372. data/lib/dropbox-sign/models/template_remove_user_request.rb +260 -0
  373. data/lib/dropbox-sign/models/template_response.rb +410 -0
  374. data/lib/dropbox-sign/models/template_response_account.rb +299 -0
  375. data/lib/dropbox-sign/models/template_response_account_quota.rb +281 -0
  376. data/lib/dropbox-sign/models/template_response_cc_role.rb +250 -0
  377. data/lib/dropbox-sign/models/template_response_custom_field.rb +407 -0
  378. data/lib/dropbox-sign/models/template_response_document.rb +309 -0
  379. data/lib/dropbox-sign/models/template_response_document_custom_field.rb +438 -0
  380. data/lib/dropbox-sign/models/template_response_document_field_group.rb +260 -0
  381. data/lib/dropbox-sign/models/template_response_document_form_field.rb +417 -0
  382. data/lib/dropbox-sign/models/template_response_document_static_field.rb +341 -0
  383. data/lib/dropbox-sign/models/template_response_field_avg_text_length.rb +261 -0
  384. data/lib/dropbox-sign/models/template_response_named_form_field.rb +383 -0
  385. data/lib/dropbox-sign/models/template_response_signer_role.rb +260 -0
  386. data/lib/dropbox-sign/models/template_update_files_request.rb +336 -0
  387. data/lib/dropbox-sign/models/template_update_files_response.rb +249 -0
  388. data/lib/dropbox-sign/models/template_update_files_response_template.rb +263 -0
  389. data/lib/dropbox-sign/models/unclaimed_draft_create_embedded_request.rb +728 -0
  390. data/lib/dropbox-sign/models/unclaimed_draft_create_embedded_with_template_request.rb +631 -0
  391. data/lib/dropbox-sign/models/unclaimed_draft_create_request.rb +586 -0
  392. data/lib/dropbox-sign/models/unclaimed_draft_create_response.rb +261 -0
  393. data/lib/dropbox-sign/models/unclaimed_draft_edit_and_resend_request.rb +328 -0
  394. data/lib/dropbox-sign/models/unclaimed_draft_response.rb +305 -0
  395. data/lib/dropbox-sign/models/warning_response.rb +271 -0
  396. data/lib/dropbox-sign/version.rb +18 -0
  397. data/lib/dropbox-sign.rb +204 -0
  398. data/openapi-config.yaml +21 -0
  399. data/openapi-sdk.yaml +11080 -0
  400. data/run-build +53 -0
  401. data/spec/api/account_api_spec.rb +107 -0
  402. data/spec/api/api_app_api_spec.rb +95 -0
  403. data/spec/api/bulk_send_job_api_spec.rb +52 -0
  404. data/spec/api/embedded_api_spec.rb +55 -0
  405. data/spec/api/oauth_api_spec.rb +55 -0
  406. data/spec/api/report_api_spec.rb +38 -0
  407. data/spec/api/signature_request_api_spec.rb +263 -0
  408. data/spec/api/team_api_spec.rb +105 -0
  409. data/spec/api/template_api_spec.rb +147 -0
  410. data/spec/api/unclaimed_draft_api_spec.rb +95 -0
  411. data/spec/api_client_spec.rb +226 -0
  412. data/spec/configuration_spec.rb +42 -0
  413. data/spec/event_callback_helper_spec.rb +22 -0
  414. data/spec/fixtures_spec.rb +59 -0
  415. data/spec/models/sub_form_fields_per_document_base_spec.rb +24 -0
  416. data/spec/spec_helper.rb +111 -0
  417. data/spec/test_utils.rb +19 -0
  418. data/templates/Gemfile.mustache +10 -0
  419. data/templates/README.mustache +133 -0
  420. data/templates/Rakefile.mustache +10 -0
  421. data/templates/api.mustache +283 -0
  422. data/templates/api_client.mustache +291 -0
  423. data/templates/api_client_faraday_partial.mustache +136 -0
  424. data/templates/api_client_spec.mustache +220 -0
  425. data/templates/api_client_typhoeus_partial.mustache +153 -0
  426. data/templates/api_doc.mustache +77 -0
  427. data/templates/api_error.mustache +52 -0
  428. data/templates/api_info.mustache +12 -0
  429. data/templates/api_test.mustache +47 -0
  430. data/templates/base_object.mustache +132 -0
  431. data/templates/configuration.mustache +372 -0
  432. data/templates/configuration_spec.mustache +34 -0
  433. data/templates/configuration_tls_faraday_partial.mustache +29 -0
  434. data/templates/configuration_tls_typhoeus_partial.mustache +34 -0
  435. data/templates/event_callback_helper.mustache +46 -0
  436. data/templates/gem.mustache +55 -0
  437. data/templates/gemspec.mustache +35 -0
  438. data/templates/git_push.sh.mustache +57 -0
  439. data/templates/gitignore.mustache +41 -0
  440. data/templates/model.mustache +29 -0
  441. data/templates/model_doc.mustache +12 -0
  442. data/templates/model_test.mustache +77 -0
  443. data/templates/partial_model_enum_class.mustache +20 -0
  444. data/templates/partial_model_generic.mustache +414 -0
  445. data/templates/partial_model_generic_doc.mustache +10 -0
  446. data/templates/partial_oneof_module.mustache +137 -0
  447. data/templates/partial_oneof_module_doc.mustache +92 -0
  448. data/templates/rspec.mustache +2 -0
  449. data/templates/rubocop.mustache +148 -0
  450. data/templates/spec_helper.mustache +103 -0
  451. data/templates/travis.mustache +14 -0
  452. data/templates/version.mustache +10 -0
  453. data/test_fixtures/AccountCreateRequest.json +7 -0
  454. data/test_fixtures/AccountCreateResponse.json +15 -0
  455. data/test_fixtures/AccountGetResponse.json +14 -0
  456. data/test_fixtures/AccountUpdateRequest.json +5 -0
  457. data/test_fixtures/AccountVerifyRequest.json +5 -0
  458. data/test_fixtures/AccountVerifyResponse.json +7 -0
  459. data/test_fixtures/ApiAppCreateRequest.json +35 -0
  460. data/test_fixtures/ApiAppGetResponse.json +27 -0
  461. data/test_fixtures/ApiAppListResponse.json +42 -0
  462. data/test_fixtures/ApiAppUpdateRequest.json +35 -0
  463. data/test_fixtures/BulkSendJobGetResponse.json +67 -0
  464. data/test_fixtures/BulkSendJobListResponse.json +24 -0
  465. data/test_fixtures/BulkSendJobSendResponse.json +10 -0
  466. data/test_fixtures/EmbeddedEditUrlRequest.json +28 -0
  467. data/test_fixtures/EmbeddedEditUrlResponse.json +8 -0
  468. data/test_fixtures/EmbeddedSignUrlResponse.json +8 -0
  469. data/test_fixtures/ErrorResponse.json +9 -0
  470. data/test_fixtures/EventCallbackHelper.json +50 -0
  471. data/test_fixtures/FileResponse.json +6 -0
  472. data/test_fixtures/OAuthTokenGenerateRequest.json +9 -0
  473. data/test_fixtures/OAuthTokenRefreshRequest.json +6 -0
  474. data/test_fixtures/OAuthTokenResponse.json +15 -0
  475. data/test_fixtures/ReportCreateRequest.json +10 -0
  476. data/test_fixtures/ReportCreateResponse.json +13 -0
  477. data/test_fixtures/SignatureRequestBulkCreateEmbeddedWithTemplateRequest.json +67 -0
  478. data/test_fixtures/SignatureRequestBulkSendWithTemplateRequest.json +66 -0
  479. data/test_fixtures/SignatureRequestCreateEmbeddedRequest.json +252 -0
  480. data/test_fixtures/SignatureRequestCreateEmbeddedWithTemplateRequest.json +60 -0
  481. data/test_fixtures/SignatureRequestGetResponse.json +146 -0
  482. data/test_fixtures/SignatureRequestListResponse.json +102 -0
  483. data/test_fixtures/SignatureRequestRemindRequest.json +5 -0
  484. data/test_fixtures/SignatureRequestSendRequest.json +463 -0
  485. data/test_fixtures/SignatureRequestSendWithTemplateRequest.json +48 -0
  486. data/test_fixtures/SignatureRequestUpdateRequest.json +7 -0
  487. data/test_fixtures/SubFormFieldsPerDocument.json +107 -0
  488. data/test_fixtures/TeamAddMemberRequest.json +6 -0
  489. data/test_fixtures/TeamCreateRequest.json +5 -0
  490. data/test_fixtures/TeamGetResponse.json +34 -0
  491. data/test_fixtures/TeamRemoveMemberRequest.json +7 -0
  492. data/test_fixtures/TeamUpdateRequest.json +5 -0
  493. data/test_fixtures/TemplateAddUserRequest.json +7 -0
  494. data/test_fixtures/TemplateCreateEmbeddedDraftRequest.json +118 -0
  495. data/test_fixtures/TemplateCreateEmbeddedDraftResponse.json +9 -0
  496. data/test_fixtures/TemplateGetResponse.json +102 -0
  497. data/test_fixtures/TemplateListResponse.json +143 -0
  498. data/test_fixtures/TemplateRemoveUserRequest.json +6 -0
  499. data/test_fixtures/TemplateUpdateFilesRequest.json +11 -0
  500. data/test_fixtures/TemplateUpdateFilesResponse.json +7 -0
  501. data/test_fixtures/UnclaimedDraftCreateEmbeddedRequest.json +134 -0
  502. data/test_fixtures/UnclaimedDraftCreateEmbeddedWithTemplateRequest.json +67 -0
  503. data/test_fixtures/UnclaimedDraftCreateRequest.json +119 -0
  504. data/test_fixtures/UnclaimedDraftCreateResponse.json +9 -0
  505. data/test_fixtures/UnclaimedDraftEditAndResendRequest.json +15 -0
  506. data/test_fixtures/bulk-send-sample.csv +3 -0
  507. data/test_fixtures/pdf-sample-2.pdf +0 -0
  508. data/test_fixtures/pdf-sample.pdf +0 -0
  509. data/vendor/autoload.php +7 -0
  510. data/vendor/bin/yaml-lint +117 -0
  511. data/vendor/composer/ClassLoader.php +572 -0
  512. data/vendor/composer/InstalledVersions.php +350 -0
  513. data/vendor/composer/LICENSE +21 -0
  514. data/vendor/composer/autoload_classmap.php +10 -0
  515. data/vendor/composer/autoload_files.php +11 -0
  516. data/vendor/composer/autoload_namespaces.php +9 -0
  517. data/vendor/composer/autoload_psr4.php +11 -0
  518. data/vendor/composer/autoload_real.php +80 -0
  519. data/vendor/composer/autoload_static.php +46 -0
  520. data/vendor/composer/installed.json +239 -0
  521. data/vendor/composer/installed.php +50 -0
  522. data/vendor/composer/platform_check.php +26 -0
  523. data/vendor/symfony/deprecation-contracts/.gitignore +3 -0
  524. data/vendor/symfony/deprecation-contracts/CHANGELOG.md +5 -0
  525. data/vendor/symfony/deprecation-contracts/LICENSE +19 -0
  526. data/vendor/symfony/deprecation-contracts/README.md +26 -0
  527. data/vendor/symfony/deprecation-contracts/composer.json +35 -0
  528. data/vendor/symfony/deprecation-contracts/function.php +27 -0
  529. data/vendor/symfony/polyfill-ctype/Ctype.php +232 -0
  530. data/vendor/symfony/polyfill-ctype/LICENSE +19 -0
  531. data/vendor/symfony/polyfill-ctype/README.md +12 -0
  532. data/vendor/symfony/polyfill-ctype/bootstrap.php +50 -0
  533. data/vendor/symfony/polyfill-ctype/bootstrap80.php +46 -0
  534. data/vendor/symfony/polyfill-ctype/composer.json +41 -0
  535. data/vendor/symfony/yaml/CHANGELOG.md +237 -0
  536. data/vendor/symfony/yaml/Command/LintCommand.php +289 -0
  537. data/vendor/symfony/yaml/Dumper.php +140 -0
  538. data/vendor/symfony/yaml/Escaper.php +95 -0
  539. data/vendor/symfony/yaml/Exception/DumpException.php +21 -0
  540. data/vendor/symfony/yaml/Exception/ExceptionInterface.php +21 -0
  541. data/vendor/symfony/yaml/Exception/ParseException.php +132 -0
  542. data/vendor/symfony/yaml/Exception/RuntimeException.php +21 -0
  543. data/vendor/symfony/yaml/Inline.php +812 -0
  544. data/vendor/symfony/yaml/LICENSE +19 -0
  545. data/vendor/symfony/yaml/Parser.php +1305 -0
  546. data/vendor/symfony/yaml/README.md +13 -0
  547. data/vendor/symfony/yaml/Resources/bin/yaml-lint +45 -0
  548. data/vendor/symfony/yaml/Tag/TaggedValue.php +38 -0
  549. data/vendor/symfony/yaml/Unescaper.php +132 -0
  550. data/vendor/symfony/yaml/Yaml.php +100 -0
  551. data/vendor/symfony/yaml/composer.json +42 -0
  552. metadata +650 -0
@@ -0,0 +1,414 @@
1
+ {{#description}}
2
+ # {{{.}}}
3
+ {{/description}}
4
+ class {{classname}}{{#parent}} < {{{.}}}{{/parent}}
5
+ {{#vars}}
6
+ {{#description}}
7
+ # {{{.}}}
8
+ {{/description}}
9
+ attr_accessor :{{{name}}}
10
+
11
+ {{/vars}}
12
+ {{#hasEnums}}
13
+ class EnumAttributeValidator
14
+ attr_reader :datatype
15
+ attr_reader :allowable_values
16
+
17
+ def initialize(datatype, allowable_values)
18
+ @allowable_values = allowable_values.map do |value|
19
+ case datatype.to_s
20
+ when /Integer/i
21
+ value.to_i
22
+ when /Float/i
23
+ value.to_f
24
+ else
25
+ value
26
+ end
27
+ end
28
+ end
29
+
30
+ def valid?(value)
31
+ !value || allowable_values.include?(value)
32
+ end
33
+ end
34
+
35
+ {{/hasEnums}}
36
+ # Attribute mapping from ruby-style variable name to JSON key.
37
+ def self.attribute_map
38
+ {
39
+ {{#vars}}
40
+ :'{{{name}}}' => :'{{{baseName}}}'{{^-last}},{{/-last}}
41
+ {{/vars}}
42
+ }
43
+ end
44
+
45
+ # Returns all the JSON keys this model knows about{{#parent}}, including the ones defined in its parent(s){{/parent}}
46
+ def self.acceptable_attributes
47
+ {{^parent}}
48
+ attribute_map.values
49
+ {{/parent}}
50
+ {{#parent}}
51
+ attribute_map.values.concat(superclass.acceptable_attributes)
52
+ {{/parent}}
53
+ end
54
+
55
+ # Returns attribute map of this model + parent
56
+ def self.merged_attributes
57
+ {{#parent}}
58
+ self.superclass.attribute_map.merge(self.attribute_map)
59
+ {{/parent}}
60
+ {{^parent}}
61
+ self.attribute_map
62
+ {{/parent}}
63
+ end
64
+
65
+ # Attribute type mapping.
66
+ def self.openapi_types
67
+ {
68
+ {{#vars}}
69
+ :'{{{name}}}' => :'{{{dataType}}}'{{^-last}},{{/-last}}
70
+ {{/vars}}
71
+ }
72
+ end
73
+
74
+ # Attribute type mapping of this model + parent
75
+ def self.merged_types
76
+ {{#parent}}
77
+ self.superclass.openapi_types.merge(self.openapi_types)
78
+ {{/parent}}
79
+ {{^parent}}
80
+ self.openapi_types
81
+ {{/parent}}
82
+ end
83
+
84
+ # List of attributes with nullable: true
85
+ def self.openapi_nullable
86
+ Set.new([
87
+ {{#vars}}
88
+ {{#isNullable}}
89
+ :'{{{name}}}'{{^-last}},{{/-last}}
90
+ {{/isNullable}}
91
+ {{/vars}}
92
+ ])
93
+ end
94
+
95
+ # Returns list of attributes with nullable: true of this model + parent
96
+ def self.merged_nullable
97
+ {{#parent}}
98
+ self.superclass.openapi_nullable.merge(self.openapi_nullable)
99
+ {{/parent}}
100
+ {{^parent}}
101
+ self.openapi_nullable
102
+ {{/parent}}
103
+ end
104
+
105
+ {{#anyOf}}
106
+ {{#-first}}
107
+ # List of class defined in anyOf (OpenAPI v3)
108
+ def self.openapi_any_of
109
+ [
110
+ {{/-first}}
111
+ :'{{{.}}}'{{^-last}},{{/-last}}
112
+ {{#-last}}
113
+ ]
114
+ end
115
+
116
+ {{/-last}}
117
+ {{/anyOf}}
118
+ {{#discriminator}}
119
+ {{#propertyName}}
120
+ # discriminator's property name in OpenAPI v3
121
+ def self.openapi_discriminator_name
122
+ :'{{{.}}}'
123
+ end
124
+
125
+ {{#discriminator}}
126
+ def self.discriminator_class_name(value)
127
+ return nil unless value.is_a?(String)
128
+
129
+ {{#discriminator.mappedModels}}
130
+ if value == '{{mappingName}}'
131
+ return "{{moduleName}}::{{modelName}}"
132
+ end
133
+ {{/discriminator.mappedModels}}
134
+
135
+ return nil
136
+ end
137
+ {{/discriminator}}
138
+
139
+ {{/propertyName}}
140
+ {{/discriminator}}
141
+ {{^discriminator}}
142
+ # Attempt to instantiate and hydrate a new instance of this class
143
+ # @param [Object] data Data to be converted
144
+ # @return [{{classname}}]
145
+ def self.init(data)
146
+ return ApiClient.default.convert_to_type(
147
+ data,
148
+ "{{classname}}"
149
+ ) || {{classname}}.new
150
+ end
151
+
152
+ {{/discriminator}}
153
+ # Initializes the object
154
+ # @param [Hash] attributes Model attributes in the form of hash
155
+ def initialize(attributes = {})
156
+ if (!attributes.is_a?(Hash))
157
+ fail ArgumentError, "The input argument (attributes) must be a hash in `{{{moduleName}}}::{{{classname}}}` initialize method"
158
+ end
159
+
160
+ # check to see if the attribute exists and convert string to symbol for hash key
161
+ attributes = attributes.each_with_object({}) { |(k, v), h|
162
+ if (!self.class.merged_attributes.key?(k.to_sym))
163
+ fail ArgumentError, "`#{k}` is not a valid attribute in `{{{moduleName}}}::{{{classname}}}`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
164
+ end
165
+ h[k.to_sym] = v
166
+ }
167
+ {{#parent}}
168
+
169
+ # call parent's initialize
170
+ super(attributes)
171
+ {{/parent}}
172
+ {{#vars}}
173
+
174
+ if attributes.key?(:'{{{name}}}')
175
+ {{#isArray}}
176
+ if (value = attributes[:'{{{name}}}']).is_a?(Array)
177
+ self.{{{name}}} = value
178
+ end
179
+ {{/isArray}}
180
+ {{#isMap}}
181
+ if (value = attributes[:'{{{name}}}']).is_a?(Hash)
182
+ self.{{{name}}} = value
183
+ end
184
+ {{/isMap}}
185
+ {{^isContainer}}
186
+ self.{{{name}}} = attributes[:'{{{name}}}']
187
+ {{/isContainer}}
188
+ {{#defaultValue}}
189
+ else
190
+ self.{{{name}}} = {{{defaultValue}}}
191
+ {{/defaultValue}}
192
+ end
193
+ {{/vars}}
194
+ end
195
+
196
+ # Show invalid properties with the reasons. Usually used together with valid?
197
+ # @return Array for valid properties with the reasons
198
+ def list_invalid_properties
199
+ invalid_properties = {{^parent}}Array.new{{/parent}}{{#parent}}super{{/parent}}
200
+ {{#vars}}
201
+ {{^isNullable}}
202
+ {{#required}}
203
+ if @{{{name}}}.nil?
204
+ invalid_properties.push('invalid value for "{{{name}}}", {{{name}}} cannot be nil.')
205
+ end
206
+
207
+ {{/required}}
208
+ {{/isNullable}}
209
+ {{#hasValidation}}
210
+ {{#maxLength}}
211
+ if {{^required}}!@{{{name}}}.nil? && {{/required}}@{{{name}}}.to_s.length > {{{maxLength}}}
212
+ invalid_properties.push('invalid value for "{{{name}}}", the character length must be smaller than or equal to {{{maxLength}}}.')
213
+ end
214
+
215
+ {{/maxLength}}
216
+ {{#minLength}}
217
+ if {{^required}}!@{{{name}}}.nil? && {{/required}}@{{{name}}}.to_s.length < {{{minLength}}}
218
+ invalid_properties.push('invalid value for "{{{name}}}", the character length must be great than or equal to {{{minLength}}}.')
219
+ end
220
+
221
+ {{/minLength}}
222
+ {{#maximum}}
223
+ if {{^required}}!@{{{name}}}.nil? && {{/required}}@{{{name}}} >{{#exclusiveMaximum}}={{/exclusiveMaximum}} {{{maximum}}}
224
+ invalid_properties.push('invalid value for "{{{name}}}", must be smaller than {{^exclusiveMaximum}}or equal to {{/exclusiveMaximum}}{{{maximum}}}.')
225
+ end
226
+
227
+ {{/maximum}}
228
+ {{#minimum}}
229
+ if {{^required}}!@{{{name}}}.nil? && {{/required}}@{{{name}}} <{{#exclusiveMinimum}}={{/exclusiveMinimum}} {{{minimum}}}
230
+ invalid_properties.push('invalid value for "{{{name}}}", must be greater than {{^exclusiveMinimum}}or equal to {{/exclusiveMinimum}}{{{minimum}}}.')
231
+ end
232
+
233
+ {{/minimum}}
234
+ {{#pattern}}
235
+ pattern = Regexp.new({{{pattern}}})
236
+ if {{^required}}!@{{{name}}}.nil? && {{/required}}@{{{name}}} !~ pattern
237
+ invalid_properties.push("invalid value for \"{{{name}}}\", must conform to the pattern #{pattern}.")
238
+ end
239
+
240
+ {{/pattern}}
241
+ {{#maxItems}}
242
+ if {{^required}}!@{{{name}}}.nil? && {{/required}}@{{{name}}}.length > {{{maxItems}}}
243
+ invalid_properties.push('invalid value for "{{{name}}}", number of items must be less than or equal to {{{maxItems}}}.')
244
+ end
245
+
246
+ {{/maxItems}}
247
+ {{#minItems}}
248
+ if {{^required}}!@{{{name}}}.nil? && {{/required}}@{{{name}}}.length < {{{minItems}}}
249
+ invalid_properties.push('invalid value for "{{{name}}}", number of items must be greater than or equal to {{{minItems}}}.')
250
+ end
251
+
252
+ {{/minItems}}
253
+ {{/hasValidation}}
254
+ {{/vars}}
255
+ invalid_properties
256
+ end
257
+
258
+ # Check to see if the all the properties in the model are valid
259
+ # @return true if the model is valid
260
+ def valid?
261
+ {{#vars}}
262
+ {{^isNullable}}
263
+ {{#required}}
264
+ return false if @{{{name}}}.nil?
265
+ {{/required}}
266
+ {{/isNullable}}
267
+ {{#isEnum}}
268
+ {{^isContainer}}
269
+ {{{name}}}_validator = EnumAttributeValidator.new('{{{dataType}}}', [{{#allowableValues}}{{#enumVars}}{{{value}}}{{^-last}}, {{/-last}}{{/enumVars}}{{/allowableValues}}])
270
+ return false unless {{{name}}}_validator.valid?(@{{{name}}})
271
+ {{/isContainer}}
272
+ {{/isEnum}}
273
+ {{#hasValidation}}
274
+ {{#maxLength}}
275
+ return false if {{^required}}!@{{{name}}}.nil? && {{/required}}@{{{name}}}.to_s.length > {{{maxLength}}}
276
+ {{/maxLength}}
277
+ {{#minLength}}
278
+ return false if {{^required}}!@{{{name}}}.nil? && {{/required}}@{{{name}}}.to_s.length < {{{minLength}}}
279
+ {{/minLength}}
280
+ {{#maximum}}
281
+ return false if {{^required}}!@{{{name}}}.nil? && {{/required}}@{{{name}}} >{{#exclusiveMaximum}}={{/exclusiveMaximum}} {{{maximum}}}
282
+ {{/maximum}}
283
+ {{#minimum}}
284
+ return false if {{^required}}!@{{{name}}}.nil? && {{/required}}@{{{name}}} <{{#exclusiveMinimum}}={{/exclusiveMinimum}} {{{minimum}}}
285
+ {{/minimum}}
286
+ {{#pattern}}
287
+ return false if {{^required}}!@{{{name}}}.nil? && {{/required}}@{{{name}}} !~ Regexp.new({{{pattern}}})
288
+ {{/pattern}}
289
+ {{#maxItems}}
290
+ return false if {{^required}}!@{{{name}}}.nil? && {{/required}}@{{{name}}}.length > {{{maxItems}}}
291
+ {{/maxItems}}
292
+ {{#minItems}}
293
+ return false if {{^required}}!@{{{name}}}.nil? && {{/required}}@{{{name}}}.length < {{{minItems}}}
294
+ {{/minItems}}
295
+ {{/hasValidation}}
296
+ {{/vars}}
297
+ {{#anyOf}}
298
+ {{#-first}}
299
+ _any_of_found = false
300
+ self.class.openapi_any_of.each do |_class|
301
+ _any_of = {{moduleName}}.const_get(_class).build_from_hash(self.to_hash)
302
+ if _any_of.valid?
303
+ _any_of_found = true
304
+ end
305
+ end
306
+
307
+ if !_any_of_found
308
+ return false
309
+ end
310
+
311
+ {{/-first}}
312
+ {{/anyOf}}
313
+ true{{#parent}} && super{{/parent}}
314
+ end
315
+
316
+ {{#vars}}
317
+ {{#isEnum}}
318
+ {{^isContainer}}
319
+ # Custom attribute writer method checking allowed values (enum).
320
+ # @param [Object] {{{name}}} Object to be assigned
321
+ def {{{name}}}=({{{name}}})
322
+ validator = EnumAttributeValidator.new('{{{dataType}}}', [{{#allowableValues}}{{#enumVars}}{{{value}}}{{^-last}}, {{/-last}}{{/enumVars}}{{/allowableValues}}])
323
+ unless validator.valid?({{{name}}})
324
+ fail ArgumentError, "invalid value for \"{{{name}}}\", must be one of #{validator.allowable_values}."
325
+ end
326
+ @{{{name}}} = {{{name}}}
327
+ end
328
+
329
+ {{/isContainer}}
330
+ {{/isEnum}}
331
+ {{^isEnum}}
332
+ {{#hasValidation}}
333
+ # Custom attribute writer method with validation
334
+ # @param [Object] {{{name}}} Value to be assigned
335
+ def {{{name}}}=({{{name}}})
336
+ {{^isNullable}}
337
+ {{#required}}
338
+ if {{{name}}}.nil?
339
+ fail ArgumentError, '{{{name}}} cannot be nil'
340
+ end
341
+
342
+ {{/required}}
343
+ {{/isNullable}}
344
+ {{#maxLength}}
345
+ if {{^required}}!{{{name}}}.nil? && {{/required}}{{{name}}}.to_s.length > {{{maxLength}}}
346
+ fail ArgumentError, 'invalid value for "{{{name}}}", the character length must be smaller than or equal to {{{maxLength}}}.'
347
+ end
348
+
349
+ {{/maxLength}}
350
+ {{#minLength}}
351
+ if {{^required}}!{{{name}}}.nil? && {{/required}}{{{name}}}.to_s.length < {{{minLength}}}
352
+ fail ArgumentError, 'invalid value for "{{{name}}}", the character length must be great than or equal to {{{minLength}}}.'
353
+ end
354
+
355
+ {{/minLength}}
356
+ {{#maximum}}
357
+ if {{^required}}!{{{name}}}.nil? && {{/required}}{{{name}}} >{{#exclusiveMaximum}}={{/exclusiveMaximum}} {{{maximum}}}
358
+ fail ArgumentError, 'invalid value for "{{{name}}}", must be smaller than {{^exclusiveMaximum}}or equal to {{/exclusiveMaximum}}{{{maximum}}}.'
359
+ end
360
+
361
+ {{/maximum}}
362
+ {{#minimum}}
363
+ if {{^required}}!{{{name}}}.nil? && {{/required}}{{{name}}} <{{#exclusiveMinimum}}={{/exclusiveMinimum}} {{{minimum}}}
364
+ fail ArgumentError, 'invalid value for "{{{name}}}", must be greater than {{^exclusiveMinimum}}or equal to {{/exclusiveMinimum}}{{{minimum}}}.'
365
+ end
366
+
367
+ {{/minimum}}
368
+ {{#pattern}}
369
+ pattern = Regexp.new({{{pattern}}})
370
+ if {{^required}}!{{{name}}}.nil? && {{/required}}{{{name}}} !~ pattern
371
+ fail ArgumentError, "invalid value for \"{{{name}}}\", must conform to the pattern #{pattern}."
372
+ end
373
+
374
+ {{/pattern}}
375
+ {{#maxItems}}
376
+ if {{^required}}!{{{name}}}.nil? && {{/required}}{{{name}}}.length > {{{maxItems}}}
377
+ fail ArgumentError, 'invalid value for "{{{name}}}", number of items must be less than or equal to {{{maxItems}}}.'
378
+ end
379
+
380
+ {{/maxItems}}
381
+ {{#minItems}}
382
+ if {{^required}}!{{{name}}}.nil? && {{/required}}{{{name}}}.length < {{{minItems}}}
383
+ fail ArgumentError, 'invalid value for "{{{name}}}", number of items must be greater than or equal to {{{minItems}}}.'
384
+ end
385
+
386
+ {{/minItems}}
387
+ @{{{name}}} = {{{name}}}
388
+ end
389
+
390
+ {{/hasValidation}}
391
+ {{/isEnum}}
392
+ {{/vars}}
393
+ # Checks equality by comparing each attribute.
394
+ # @param [Object] Object to be compared
395
+ def ==(o)
396
+ return true if self.equal?(o)
397
+ self.class == o.class{{#vars}} &&
398
+ {{name}} == o.{{name}}{{/vars}}{{#parent}} && super(o){{/parent}}
399
+ end
400
+
401
+ # @see the `==` method
402
+ # @param [Object] Object to be compared
403
+ def eql?(o)
404
+ self == o
405
+ end
406
+
407
+ # Calculates hash code according to all attributes.
408
+ # @return [Integer] Hash code
409
+ def hash
410
+ [{{#vars}}{{name}}{{^-last}}, {{/-last}}{{/vars}}].hash
411
+ end
412
+
413
+ {{> base_object}}
414
+ end
@@ -0,0 +1,10 @@
1
+ # {{moduleName}}::{{classname}}
2
+
3
+ {{unescapedDescription}}
4
+
5
+ ## Properties
6
+
7
+ | Name | Type | Description | Notes |
8
+ | ---- | ---- | ----------- | ----- |
9
+ {{#vars}}| `{{name}}`{{#required}}<sup>*_required_</sup>{{/required}} | {{#isPrimitiveType}}```{{{dataType}}}```{{/isPrimitiveType}}{{^isPrimitiveType}}[```{{{dataType}}}```]({{complexType}}.md){{/isPrimitiveType}} | REPLACE_ME_WITH_DESCRIPTION_BEGIN {{unescapedDescription}} REPLACE_ME_WITH_DESCRIPTION_END | {{#isReadOnly}} [readonly]{{/isReadOnly}}{{#defaultValue}} [default to {{{.}}}]{{/defaultValue}} |
10
+ {{/vars}}
@@ -0,0 +1,137 @@
1
+ {{#description}}
2
+ # {{{.}}}
3
+ {{/description}}
4
+ module {{classname}}
5
+ class << self
6
+ {{#oneOf}}
7
+ {{#-first}}
8
+ # List of class defined in oneOf (OpenAPI v3)
9
+ def openapi_one_of
10
+ [
11
+ {{/-first}}
12
+ :'{{{.}}}'{{^-last}},{{/-last}}
13
+ {{#-last}}
14
+ ]
15
+ end
16
+
17
+ {{/-last}}
18
+ {{/oneOf}}
19
+ {{#discriminator}}
20
+ {{#propertyName}}
21
+ # Discriminator's property name (OpenAPI v3)
22
+ def openapi_discriminator_name
23
+ :'{{{.}}}'
24
+ end
25
+
26
+ {{/propertyName}}
27
+ {{#mappedModels}}
28
+ {{#-first}}
29
+ # Discriminator's mapping (OpenAPI v3)
30
+ def openapi_discriminator_mapping
31
+ {
32
+ {{/-first}}
33
+ :'{{{mappingName}}}' => :'{{{modelName}}}'{{^-last}},{{/-last}}
34
+ {{#-last}}
35
+ }
36
+ end
37
+
38
+ {{/-last}}
39
+ {{/mappedModels}}
40
+ {{/discriminator}}
41
+ # Builds the object
42
+ # @param [Mixed] Data to be matched against the list of oneOf items
43
+ # @return [Object] Returns the model or the data itself
44
+ def build(data)
45
+ {{#discriminator}}
46
+ discriminator_value = data[openapi_discriminator_name]
47
+ return nil unless discriminator_value
48
+ {{#mappedModels}}
49
+ {{#-first}}
50
+
51
+ klass = openapi_discriminator_mapping[discriminator_value.to_sym]
52
+ return nil unless klass
53
+
54
+ {{moduleName}}.const_get(klass).build_from_hash(data)
55
+ {{/-first}}
56
+ {{/mappedModels}}
57
+ {{^mappedModels}}
58
+ {{moduleName}}.const_get(discriminator_value).build_from_hash(data)
59
+ {{/mappedModels}}
60
+ {{/discriminator}}
61
+ {{^discriminator}}
62
+ # Go through the list of oneOf items and attempt to identify the appropriate one.
63
+ # Note:
64
+ # - We do not attempt to check whether exactly one item matches.
65
+ # - No advanced validation of types in some cases (e.g. "x: { type: string }" will happily match { x: 123 })
66
+ # due to the way the deserialization is made in the base_object template (it just casts without verifying).
67
+ # - TODO: scalar values are de facto behaving as if they were nullable.
68
+ # - TODO: logging when debugging is set.
69
+ openapi_one_of.each do |klass|
70
+ begin
71
+ next if klass == :AnyType # "nullable: true"
72
+ typed_data = find_and_cast_into_type(klass, data)
73
+ return typed_data if typed_data
74
+ rescue # rescue all errors so we keep iterating even if the current item lookup raises
75
+ end
76
+ end
77
+
78
+ openapi_one_of.include?(:AnyType) ? data : nil
79
+ {{/discriminator}}
80
+ end
81
+ {{^discriminator}}
82
+
83
+ private
84
+
85
+ SchemaMismatchError = Class.new(StandardError)
86
+
87
+ # Note: 'File' is missing here because in the regular case we get the data _after_ a call to JSON.parse.
88
+ def find_and_cast_into_type(klass, data)
89
+ return if data.nil?
90
+
91
+ case klass.to_s
92
+ when 'Boolean'
93
+ return data if data.instance_of?(TrueClass) || data.instance_of?(FalseClass)
94
+ when 'Float'
95
+ return data if data.instance_of?(Float)
96
+ when 'Integer'
97
+ return data if data.instance_of?(Integer)
98
+ when 'Time'
99
+ return Time.parse(data)
100
+ when 'Date'
101
+ return Date.parse(data)
102
+ when 'String'
103
+ return data if data.instance_of?(String)
104
+ when 'Object' # "type: object"
105
+ return data if data.instance_of?(Hash)
106
+ when /\AArray<(?<sub_type>.+)>\z/ # "type: array"
107
+ if data.instance_of?(Array)
108
+ sub_type = Regexp.last_match[:sub_type]
109
+ return data.map { |item| find_and_cast_into_type(sub_type, item) }
110
+ end
111
+ when /\AHash<String, (?<sub_type>.+)>\z/ # "type: object" with "additionalProperties: { ... }"
112
+ if data.instance_of?(Hash) && data.keys.all? { |k| k.instance_of?(Symbol) || k.instance_of?(String) }
113
+ sub_type = Regexp.last_match[:sub_type]
114
+ return data.each_with_object({}) { |(k, v), hsh| hsh[k] = find_and_cast_into_type(sub_type, v) }
115
+ end
116
+ else # model
117
+ const = {{moduleName}}.const_get(klass)
118
+ if const
119
+ if const.respond_to?(:openapi_one_of) # nested oneOf model
120
+ model = const.build(data)
121
+ return model if model
122
+ else
123
+ # raise if data contains keys that are not known to the model
124
+ raise unless (data.keys - const.acceptable_attributes).empty?
125
+ model = const.build_from_hash(data)
126
+ return model if model && model.valid?
127
+ end
128
+ end
129
+ end
130
+
131
+ raise # if no match by now, raise
132
+ rescue
133
+ raise SchemaMismatchError, "#{data} doesn't match the #{klass} type"
134
+ end
135
+ {{/discriminator}}
136
+ end
137
+ end
@@ -0,0 +1,92 @@
1
+ # {{moduleName}}::{{classname}}
2
+
3
+ ## Class instance methods
4
+
5
+ ### `openapi_one_of`
6
+
7
+ Returns the list of classes defined in oneOf.
8
+
9
+ #### Example
10
+
11
+ ```ruby
12
+ require '{{{gemName}}}'
13
+
14
+ {{moduleName}}::{{classname}}.openapi_one_of
15
+ # =>
16
+ {{#oneOf}}
17
+ {{#-first}}
18
+ # [
19
+ {{/-first}}
20
+ # :'{{{.}}}'{{^-last}},{{/-last}}
21
+ {{#-last}}
22
+ # ]
23
+ {{/-last}}
24
+ {{/oneOf}}
25
+ ```
26
+ {{#discriminator}}
27
+ {{#propertyName}}
28
+
29
+ ### `openapi_discriminator_name`
30
+
31
+ Returns the discriminator's property name.
32
+
33
+ #### Example
34
+
35
+ ```ruby
36
+ require '{{{gemName}}}'
37
+
38
+ {{moduleName}}::{{classname}}.openapi_discriminator_name
39
+ # => :'{{{.}}}'
40
+ ```
41
+ {{/propertyName}}
42
+ {{#mappedModels}}
43
+ {{#-first}}
44
+
45
+ ### `openapi_discriminator_name`
46
+
47
+ Returns the discriminator's mapping.
48
+
49
+ #### Example
50
+
51
+ ```ruby
52
+ require '{{{gemName}}}'
53
+
54
+ {{moduleName}}::{{classname}}.openapi_discriminator_mapping
55
+ # =>
56
+ # {
57
+ {{/-first}}
58
+ # :'{{{mappingName}}}' => :'{{{modelName}}}'{{^-last}},{{/-last}}
59
+ {{#-last}}
60
+ # }
61
+ {{/-last}}
62
+ {{/mappedModels}}
63
+ {{/discriminator}}
64
+
65
+ ### build
66
+
67
+ Find the appropriate object from the `openapi_one_of` list and casts the data into it.
68
+
69
+ #### Example
70
+
71
+ ```ruby
72
+ require '{{{gemName}}}'
73
+
74
+ {{moduleName}}::{{classname}}.build(data)
75
+ # => {{#oneOf}}{{#-first}}#<{{{.}}}:0x00007fdd4aab02a0>{{/-first}}{{/oneOf}}
76
+
77
+ {{moduleName}}::{{classname}}.build(data_that_doesnt_match)
78
+ # => nil
79
+ ```
80
+
81
+ #### Parameters
82
+
83
+ | Name | Type | Description |
84
+ | ---- | ---- | ----------- |
85
+ | **data** | **Mixed** | data to be matched against the list of oneOf items |
86
+
87
+ #### Return type
88
+
89
+ {{#oneOf}}
90
+ - `{{{.}}}`
91
+ {{/oneOf}}
92
+ - `nil` (if no type matches)
@@ -0,0 +1,2 @@
1
+ --color
2
+ --require spec_helper