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,19 @@
1
+ Copyright (c) 2018-2019 Fabien Potencier
2
+
3
+ Permission is hereby granted, free of charge, to any person obtaining a copy
4
+ of this software and associated documentation files (the "Software"), to deal
5
+ in the Software without restriction, including without limitation the rights
6
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
7
+ copies of the Software, and to permit persons to whom the Software is furnished
8
+ to do so, subject to the following conditions:
9
+
10
+ The above copyright notice and this permission notice shall be included in all
11
+ copies or substantial portions of the Software.
12
+
13
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
19
+ THE SOFTWARE.
@@ -0,0 +1,12 @@
1
+ Symfony Polyfill / Ctype
2
+ ========================
3
+
4
+ This component provides `ctype_*` functions to users who run php versions without the ctype extension.
5
+
6
+ More information can be found in the
7
+ [main Polyfill README](https://github.com/symfony/polyfill/blob/master/README.md).
8
+
9
+ License
10
+ =======
11
+
12
+ This library is released under the [MIT license](LICENSE).
@@ -0,0 +1,50 @@
1
+ <?php
2
+
3
+ /*
4
+ * This file is part of the Symfony package.
5
+ *
6
+ * (c) Fabien Potencier <fabien@symfony.com>
7
+ *
8
+ * For the full copyright and license information, please view the LICENSE
9
+ * file that was distributed with this source code.
10
+ */
11
+
12
+ use Symfony\Polyfill\Ctype as p;
13
+
14
+ if (\PHP_VERSION_ID >= 80000) {
15
+ return require __DIR__.'/bootstrap80.php';
16
+ }
17
+
18
+ if (!function_exists('ctype_alnum')) {
19
+ function ctype_alnum($text) { return p\Ctype::ctype_alnum($text); }
20
+ }
21
+ if (!function_exists('ctype_alpha')) {
22
+ function ctype_alpha($text) { return p\Ctype::ctype_alpha($text); }
23
+ }
24
+ if (!function_exists('ctype_cntrl')) {
25
+ function ctype_cntrl($text) { return p\Ctype::ctype_cntrl($text); }
26
+ }
27
+ if (!function_exists('ctype_digit')) {
28
+ function ctype_digit($text) { return p\Ctype::ctype_digit($text); }
29
+ }
30
+ if (!function_exists('ctype_graph')) {
31
+ function ctype_graph($text) { return p\Ctype::ctype_graph($text); }
32
+ }
33
+ if (!function_exists('ctype_lower')) {
34
+ function ctype_lower($text) { return p\Ctype::ctype_lower($text); }
35
+ }
36
+ if (!function_exists('ctype_print')) {
37
+ function ctype_print($text) { return p\Ctype::ctype_print($text); }
38
+ }
39
+ if (!function_exists('ctype_punct')) {
40
+ function ctype_punct($text) { return p\Ctype::ctype_punct($text); }
41
+ }
42
+ if (!function_exists('ctype_space')) {
43
+ function ctype_space($text) { return p\Ctype::ctype_space($text); }
44
+ }
45
+ if (!function_exists('ctype_upper')) {
46
+ function ctype_upper($text) { return p\Ctype::ctype_upper($text); }
47
+ }
48
+ if (!function_exists('ctype_xdigit')) {
49
+ function ctype_xdigit($text) { return p\Ctype::ctype_xdigit($text); }
50
+ }
@@ -0,0 +1,46 @@
1
+ <?php
2
+
3
+ /*
4
+ * This file is part of the Symfony package.
5
+ *
6
+ * (c) Fabien Potencier <fabien@symfony.com>
7
+ *
8
+ * For the full copyright and license information, please view the LICENSE
9
+ * file that was distributed with this source code.
10
+ */
11
+
12
+ use Symfony\Polyfill\Ctype as p;
13
+
14
+ if (!function_exists('ctype_alnum')) {
15
+ function ctype_alnum(mixed $text): bool { return p\Ctype::ctype_alnum($text); }
16
+ }
17
+ if (!function_exists('ctype_alpha')) {
18
+ function ctype_alpha(mixed $text): bool { return p\Ctype::ctype_alpha($text); }
19
+ }
20
+ if (!function_exists('ctype_cntrl')) {
21
+ function ctype_cntrl(mixed $text): bool { return p\Ctype::ctype_cntrl($text); }
22
+ }
23
+ if (!function_exists('ctype_digit')) {
24
+ function ctype_digit(mixed $text): bool { return p\Ctype::ctype_digit($text); }
25
+ }
26
+ if (!function_exists('ctype_graph')) {
27
+ function ctype_graph(mixed $text): bool { return p\Ctype::ctype_graph($text); }
28
+ }
29
+ if (!function_exists('ctype_lower')) {
30
+ function ctype_lower(mixed $text): bool { return p\Ctype::ctype_lower($text); }
31
+ }
32
+ if (!function_exists('ctype_print')) {
33
+ function ctype_print(mixed $text): bool { return p\Ctype::ctype_print($text); }
34
+ }
35
+ if (!function_exists('ctype_punct')) {
36
+ function ctype_punct(mixed $text): bool { return p\Ctype::ctype_punct($text); }
37
+ }
38
+ if (!function_exists('ctype_space')) {
39
+ function ctype_space(mixed $text): bool { return p\Ctype::ctype_space($text); }
40
+ }
41
+ if (!function_exists('ctype_upper')) {
42
+ function ctype_upper(mixed $text): bool { return p\Ctype::ctype_upper($text); }
43
+ }
44
+ if (!function_exists('ctype_xdigit')) {
45
+ function ctype_xdigit(mixed $text): bool { return p\Ctype::ctype_xdigit($text); }
46
+ }
@@ -0,0 +1,41 @@
1
+ {
2
+ "name": "symfony/polyfill-ctype",
3
+ "type": "library",
4
+ "description": "Symfony polyfill for ctype functions",
5
+ "keywords": ["polyfill", "compatibility", "portable", "ctype"],
6
+ "homepage": "https://symfony.com",
7
+ "license": "MIT",
8
+ "authors": [
9
+ {
10
+ "name": "Gert de Pagter",
11
+ "email": "BackEndTea@gmail.com"
12
+ },
13
+ {
14
+ "name": "Symfony Community",
15
+ "homepage": "https://symfony.com/contributors"
16
+ }
17
+ ],
18
+ "require": {
19
+ "php": ">=7.1"
20
+ },
21
+ "provide": {
22
+ "ext-ctype": "*"
23
+ },
24
+ "autoload": {
25
+ "psr-4": { "Symfony\\Polyfill\\Ctype\\": "" },
26
+ "files": [ "bootstrap.php" ]
27
+ },
28
+ "suggest": {
29
+ "ext-ctype": "For best performance"
30
+ },
31
+ "minimum-stability": "dev",
32
+ "extra": {
33
+ "branch-alias": {
34
+ "dev-main": "1.23-dev"
35
+ },
36
+ "thanks": {
37
+ "name": "symfony/polyfill",
38
+ "url": "https://github.com/symfony/polyfill"
39
+ }
40
+ }
41
+ }
@@ -0,0 +1,237 @@
1
+ CHANGELOG
2
+ =========
3
+
4
+ 5.4
5
+ ---
6
+
7
+ * Add new `lint:yaml dirname --exclude=/dirname/foo.yaml --exclude=/dirname/bar.yaml`
8
+ option to exclude one or more specific files from multiple file list
9
+ * Allow negatable for the parse tags option with `--no-parse-tags`
10
+
11
+ 5.3
12
+ ---
13
+
14
+ * Added `github` format support & autodetection to render errors as annotations
15
+ when running the YAML linter command in a Github Action environment.
16
+
17
+ 5.1.0
18
+ -----
19
+
20
+ * Added support for parsing numbers prefixed with `0o` as octal numbers.
21
+ * Deprecated support for parsing numbers starting with `0` as octal numbers. They will be parsed as strings as of Symfony 6.0. Prefix numbers with `0o`
22
+ so that they are parsed as octal numbers.
23
+
24
+ Before:
25
+
26
+ ```yaml
27
+ Yaml::parse('072');
28
+ ```
29
+
30
+ After:
31
+
32
+ ```yaml
33
+ Yaml::parse('0o72');
34
+ ```
35
+
36
+ * Added `yaml-lint` binary.
37
+ * Deprecated using the `!php/object` and `!php/const` tags without a value.
38
+
39
+ 5.0.0
40
+ -----
41
+
42
+ * Removed support for mappings inside multi-line strings.
43
+ * removed support for implicit STDIN usage in the `lint:yaml` command, use `lint:yaml -` (append a dash) instead to make it explicit.
44
+
45
+ 4.4.0
46
+ -----
47
+
48
+ * Added support for parsing the inline notation spanning multiple lines.
49
+ * Added support to dump `null` as `~` by using the `Yaml::DUMP_NULL_AS_TILDE` flag.
50
+ * deprecated accepting STDIN implicitly when using the `lint:yaml` command, use `lint:yaml -` (append a dash) instead to make it explicit.
51
+
52
+ 4.3.0
53
+ -----
54
+
55
+ * Using a mapping inside a multi-line string is deprecated and will throw a `ParseException` in 5.0.
56
+
57
+ 4.2.0
58
+ -----
59
+
60
+ * added support for multiple files or directories in `LintCommand`
61
+
62
+ 4.0.0
63
+ -----
64
+
65
+ * The behavior of the non-specific tag `!` is changed and now forces
66
+ non-evaluating your values.
67
+ * complex mappings will throw a `ParseException`
68
+ * support for the comma as a group separator for floats has been dropped, use
69
+ the underscore instead
70
+ * support for the `!!php/object` tag has been dropped, use the `!php/object`
71
+ tag instead
72
+ * duplicate mapping keys throw a `ParseException`
73
+ * non-string mapping keys throw a `ParseException`, use the `Yaml::PARSE_KEYS_AS_STRINGS`
74
+ flag to cast them to strings
75
+ * `%` at the beginning of an unquoted string throw a `ParseException`
76
+ * mappings with a colon (`:`) that is not followed by a whitespace throw a
77
+ `ParseException`
78
+ * the `Dumper::setIndentation()` method has been removed
79
+ * being able to pass boolean options to the `Yaml::parse()`, `Yaml::dump()`,
80
+ `Parser::parse()`, and `Dumper::dump()` methods to configure the behavior of
81
+ the parser and dumper is no longer supported, pass bitmask flags instead
82
+ * the constructor arguments of the `Parser` class have been removed
83
+ * the `Inline` class is internal and no longer part of the BC promise
84
+ * removed support for the `!str` tag, use the `!!str` tag instead
85
+ * added support for tagged scalars.
86
+
87
+ ```yml
88
+ Yaml::parse('!foo bar', Yaml::PARSE_CUSTOM_TAGS);
89
+ // returns TaggedValue('foo', 'bar');
90
+ ```
91
+
92
+ 3.4.0
93
+ -----
94
+
95
+ * added support for parsing YAML files using the `Yaml::parseFile()` or `Parser::parseFile()` method
96
+
97
+ * the `Dumper`, `Parser`, and `Yaml` classes are marked as final
98
+
99
+ * Deprecated the `!php/object:` tag which will be replaced by the
100
+ `!php/object` tag (without the colon) in 4.0.
101
+
102
+ * Deprecated the `!php/const:` tag which will be replaced by the
103
+ `!php/const` tag (without the colon) in 4.0.
104
+
105
+ * Support for the `!str` tag is deprecated, use the `!!str` tag instead.
106
+
107
+ * Deprecated using the non-specific tag `!` as its behavior will change in 4.0.
108
+ It will force non-evaluating your values in 4.0. Use plain integers or `!!float` instead.
109
+
110
+ 3.3.0
111
+ -----
112
+
113
+ * Starting an unquoted string with a question mark followed by a space is
114
+ deprecated and will throw a `ParseException` in Symfony 4.0.
115
+
116
+ * Deprecated support for implicitly parsing non-string mapping keys as strings.
117
+ Mapping keys that are no strings will lead to a `ParseException` in Symfony
118
+ 4.0. Use quotes to opt-in for keys to be parsed as strings.
119
+
120
+ Before:
121
+
122
+ ```php
123
+ $yaml = <<<YAML
124
+ null: null key
125
+ true: boolean true
126
+ 2.0: float key
127
+ YAML;
128
+
129
+ Yaml::parse($yaml);
130
+ ```
131
+
132
+ After:
133
+
134
+ ```php
135
+
136
+ $yaml = <<<YAML
137
+ "null": null key
138
+ "true": boolean true
139
+ "2.0": float key
140
+ YAML;
141
+
142
+ Yaml::parse($yaml);
143
+ ```
144
+
145
+ * Omitted mapping values will be parsed as `null`.
146
+
147
+ * Omitting the key of a mapping is deprecated and will throw a `ParseException` in Symfony 4.0.
148
+
149
+ * Added support for dumping empty PHP arrays as YAML sequences:
150
+
151
+ ```php
152
+ Yaml::dump([], 0, 0, Yaml::DUMP_EMPTY_ARRAY_AS_SEQUENCE);
153
+ ```
154
+
155
+ 3.2.0
156
+ -----
157
+
158
+ * Mappings with a colon (`:`) that is not followed by a whitespace are deprecated
159
+ when the mapping key is not quoted and will lead to a `ParseException` in
160
+ Symfony 4.0 (e.g. `foo:bar` must be `foo: bar`).
161
+
162
+ * Added support for parsing PHP constants:
163
+
164
+ ```php
165
+ Yaml::parse('!php/const:PHP_INT_MAX', Yaml::PARSE_CONSTANT);
166
+ ```
167
+
168
+ * Support for silently ignoring duplicate mapping keys in YAML has been
169
+ deprecated and will lead to a `ParseException` in Symfony 4.0.
170
+
171
+ 3.1.0
172
+ -----
173
+
174
+ * Added support to dump `stdClass` and `ArrayAccess` objects as YAML mappings
175
+ through the `Yaml::DUMP_OBJECT_AS_MAP` flag.
176
+
177
+ * Strings that are not UTF-8 encoded will be dumped as base64 encoded binary
178
+ data.
179
+
180
+ * Added support for dumping multi line strings as literal blocks.
181
+
182
+ * Added support for parsing base64 encoded binary data when they are tagged
183
+ with the `!!binary` tag.
184
+
185
+ * Added support for parsing timestamps as `\DateTime` objects:
186
+
187
+ ```php
188
+ Yaml::parse('2001-12-15 21:59:43.10 -5', Yaml::PARSE_DATETIME);
189
+ ```
190
+
191
+ * `\DateTime` and `\DateTimeImmutable` objects are dumped as YAML timestamps.
192
+
193
+ * Deprecated usage of `%` at the beginning of an unquoted string.
194
+
195
+ * Added support for customizing the YAML parser behavior through an optional bit field:
196
+
197
+ ```php
198
+ Yaml::parse('{ "foo": "bar", "fiz": "cat" }', Yaml::PARSE_EXCEPTION_ON_INVALID_TYPE | Yaml::PARSE_OBJECT | Yaml::PARSE_OBJECT_FOR_MAP);
199
+ ```
200
+
201
+ * Added support for customizing the dumped YAML string through an optional bit field:
202
+
203
+ ```php
204
+ Yaml::dump(['foo' => new A(), 'bar' => 1], 0, 0, Yaml::DUMP_EXCEPTION_ON_INVALID_TYPE | Yaml::DUMP_OBJECT);
205
+ ```
206
+
207
+ 3.0.0
208
+ -----
209
+
210
+ * Yaml::parse() now throws an exception when a blackslash is not escaped
211
+ in double-quoted strings
212
+
213
+ 2.8.0
214
+ -----
215
+
216
+ * Deprecated usage of a colon in an unquoted mapping value
217
+ * Deprecated usage of @, \`, | and > at the beginning of an unquoted string
218
+ * When surrounding strings with double-quotes, you must now escape `\` characters. Not
219
+ escaping those characters (when surrounded by double-quotes) is deprecated.
220
+
221
+ Before:
222
+
223
+ ```yml
224
+ class: "Foo\Var"
225
+ ```
226
+
227
+ After:
228
+
229
+ ```yml
230
+ class: "Foo\\Var"
231
+ ```
232
+
233
+ 2.1.0
234
+ -----
235
+
236
+ * Yaml::parse() does not evaluate loaded files as PHP files by default
237
+ anymore (call Yaml::enablePhpParsing() to get back the old behavior)
@@ -0,0 +1,289 @@
1
+ <?php
2
+
3
+ /*
4
+ * This file is part of the Symfony package.
5
+ *
6
+ * (c) Fabien Potencier <fabien@symfony.com>
7
+ *
8
+ * For the full copyright and license information, please view the LICENSE
9
+ * file that was distributed with this source code.
10
+ */
11
+
12
+ namespace Symfony\Component\Yaml\Command;
13
+
14
+ use Symfony\Component\Console\CI\GithubActionReporter;
15
+ use Symfony\Component\Console\Command\Command;
16
+ use Symfony\Component\Console\Completion\CompletionInput;
17
+ use Symfony\Component\Console\Completion\CompletionSuggestions;
18
+ use Symfony\Component\Console\Exception\InvalidArgumentException;
19
+ use Symfony\Component\Console\Exception\RuntimeException;
20
+ use Symfony\Component\Console\Input\InputArgument;
21
+ use Symfony\Component\Console\Input\InputInterface;
22
+ use Symfony\Component\Console\Input\InputOption;
23
+ use Symfony\Component\Console\Output\OutputInterface;
24
+ use Symfony\Component\Console\Style\SymfonyStyle;
25
+ use Symfony\Component\Yaml\Exception\ParseException;
26
+ use Symfony\Component\Yaml\Parser;
27
+ use Symfony\Component\Yaml\Yaml;
28
+
29
+ /**
30
+ * Validates YAML files syntax and outputs encountered errors.
31
+ *
32
+ * @author Grégoire Pineau <lyrixx@lyrixx.info>
33
+ * @author Robin Chalas <robin.chalas@gmail.com>
34
+ */
35
+ class LintCommand extends Command
36
+ {
37
+ protected static $defaultName = 'lint:yaml';
38
+ protected static $defaultDescription = 'Lint a YAML file and outputs encountered errors';
39
+
40
+ private $parser;
41
+ private $format;
42
+ private $displayCorrectFiles;
43
+ private $directoryIteratorProvider;
44
+ private $isReadableProvider;
45
+
46
+ public function __construct(string $name = null, callable $directoryIteratorProvider = null, callable $isReadableProvider = null)
47
+ {
48
+ parent::__construct($name);
49
+
50
+ $this->directoryIteratorProvider = $directoryIteratorProvider;
51
+ $this->isReadableProvider = $isReadableProvider;
52
+ }
53
+
54
+ /**
55
+ * {@inheritdoc}
56
+ */
57
+ protected function configure()
58
+ {
59
+ $this
60
+ ->setDescription(self::$defaultDescription)
61
+ ->addArgument('filename', InputArgument::IS_ARRAY, 'A file, a directory or "-" for reading from STDIN')
62
+ ->addOption('format', null, InputOption::VALUE_REQUIRED, 'The output format')
63
+ ->addOption('exclude', null, InputOption::VALUE_REQUIRED | InputOption::VALUE_IS_ARRAY, 'Path(s) to exclude')
64
+ ->addOption('parse-tags', null, InputOption::VALUE_NEGATABLE, 'Parse custom tags', null)
65
+ ->setHelp(<<<EOF
66
+ The <info>%command.name%</info> command lints a YAML file and outputs to STDOUT
67
+ the first encountered syntax error.
68
+
69
+ You can validates YAML contents passed from STDIN:
70
+
71
+ <info>cat filename | php %command.full_name% -</info>
72
+
73
+ You can also validate the syntax of a file:
74
+
75
+ <info>php %command.full_name% filename</info>
76
+
77
+ Or of a whole directory:
78
+
79
+ <info>php %command.full_name% dirname</info>
80
+ <info>php %command.full_name% dirname --format=json</info>
81
+
82
+ You can also exclude one or more specific files:
83
+
84
+ <info>php %command.full_name% dirname --exclude="dirname/foo.yaml" --exclude="dirname/bar.yaml"</info>
85
+
86
+ EOF
87
+ )
88
+ ;
89
+ }
90
+
91
+ protected function execute(InputInterface $input, OutputInterface $output)
92
+ {
93
+ $io = new SymfonyStyle($input, $output);
94
+ $filenames = (array) $input->getArgument('filename');
95
+ $excludes = $input->getOption('exclude');
96
+ $this->format = $input->getOption('format');
97
+ $flags = $input->getOption('parse-tags');
98
+
99
+ if ('github' === $this->format && !class_exists(GithubActionReporter::class)) {
100
+ throw new \InvalidArgumentException('The "github" format is only available since "symfony/console" >= 5.3.');
101
+ }
102
+
103
+ if (null === $this->format) {
104
+ // Autodetect format according to CI environment
105
+ $this->format = class_exists(GithubActionReporter::class) && GithubActionReporter::isGithubActionEnvironment() ? 'github' : 'txt';
106
+ }
107
+
108
+ $flags = $flags ? Yaml::PARSE_CUSTOM_TAGS : 0;
109
+
110
+ $this->displayCorrectFiles = $output->isVerbose();
111
+
112
+ if (['-'] === $filenames) {
113
+ return $this->display($io, [$this->validate(file_get_contents('php://stdin'), $flags)]);
114
+ }
115
+
116
+ if (!$filenames) {
117
+ throw new RuntimeException('Please provide a filename or pipe file content to STDIN.');
118
+ }
119
+
120
+ $filesInfo = [];
121
+ foreach ($filenames as $filename) {
122
+ if (!$this->isReadable($filename)) {
123
+ throw new RuntimeException(sprintf('File or directory "%s" is not readable.', $filename));
124
+ }
125
+
126
+ foreach ($this->getFiles($filename) as $file) {
127
+ if (!\in_array($file->getPathname(), $excludes, true)) {
128
+ $filesInfo[] = $this->validate(file_get_contents($file), $flags, $file);
129
+ }
130
+ }
131
+ }
132
+
133
+ return $this->display($io, $filesInfo);
134
+ }
135
+
136
+ private function validate(string $content, int $flags, string $file = null)
137
+ {
138
+ $prevErrorHandler = set_error_handler(function ($level, $message, $file, $line) use (&$prevErrorHandler) {
139
+ if (\E_USER_DEPRECATED === $level) {
140
+ throw new ParseException($message, $this->getParser()->getRealCurrentLineNb() + 1);
141
+ }
142
+
143
+ return $prevErrorHandler ? $prevErrorHandler($level, $message, $file, $line) : false;
144
+ });
145
+
146
+ try {
147
+ $this->getParser()->parse($content, Yaml::PARSE_CONSTANT | $flags);
148
+ } catch (ParseException $e) {
149
+ return ['file' => $file, 'line' => $e->getParsedLine(), 'valid' => false, 'message' => $e->getMessage()];
150
+ } finally {
151
+ restore_error_handler();
152
+ }
153
+
154
+ return ['file' => $file, 'valid' => true];
155
+ }
156
+
157
+ private function display(SymfonyStyle $io, array $files): int
158
+ {
159
+ switch ($this->format) {
160
+ case 'txt':
161
+ return $this->displayTxt($io, $files);
162
+ case 'json':
163
+ return $this->displayJson($io, $files);
164
+ case 'github':
165
+ return $this->displayTxt($io, $files, true);
166
+ default:
167
+ throw new InvalidArgumentException(sprintf('The format "%s" is not supported.', $this->format));
168
+ }
169
+ }
170
+
171
+ private function displayTxt(SymfonyStyle $io, array $filesInfo, bool $errorAsGithubAnnotations = false): int
172
+ {
173
+ $countFiles = \count($filesInfo);
174
+ $erroredFiles = 0;
175
+ $suggestTagOption = false;
176
+
177
+ if ($errorAsGithubAnnotations) {
178
+ $githubReporter = new GithubActionReporter($io);
179
+ }
180
+
181
+ foreach ($filesInfo as $info) {
182
+ if ($info['valid'] && $this->displayCorrectFiles) {
183
+ $io->comment('<info>OK</info>'.($info['file'] ? sprintf(' in %s', $info['file']) : ''));
184
+ } elseif (!$info['valid']) {
185
+ ++$erroredFiles;
186
+ $io->text('<error> ERROR </error>'.($info['file'] ? sprintf(' in %s', $info['file']) : ''));
187
+ $io->text(sprintf('<error> >> %s</error>', $info['message']));
188
+
189
+ if (false !== strpos($info['message'], 'PARSE_CUSTOM_TAGS')) {
190
+ $suggestTagOption = true;
191
+ }
192
+
193
+ if ($errorAsGithubAnnotations) {
194
+ $githubReporter->error($info['message'], $info['file'] ?? 'php://stdin', $info['line']);
195
+ }
196
+ }
197
+ }
198
+
199
+ if (0 === $erroredFiles) {
200
+ $io->success(sprintf('All %d YAML files contain valid syntax.', $countFiles));
201
+ } else {
202
+ $io->warning(sprintf('%d YAML files have valid syntax and %d contain errors.%s', $countFiles - $erroredFiles, $erroredFiles, $suggestTagOption ? ' Use the --parse-tags option if you want parse custom tags.' : ''));
203
+ }
204
+
205
+ return min($erroredFiles, 1);
206
+ }
207
+
208
+ private function displayJson(SymfonyStyle $io, array $filesInfo): int
209
+ {
210
+ $errors = 0;
211
+
212
+ array_walk($filesInfo, function (&$v) use (&$errors) {
213
+ $v['file'] = (string) $v['file'];
214
+ if (!$v['valid']) {
215
+ ++$errors;
216
+ }
217
+
218
+ if (isset($v['message']) && false !== strpos($v['message'], 'PARSE_CUSTOM_TAGS')) {
219
+ $v['message'] .= ' Use the --parse-tags option if you want parse custom tags.';
220
+ }
221
+ });
222
+
223
+ $io->writeln(json_encode($filesInfo, \JSON_PRETTY_PRINT | \JSON_UNESCAPED_SLASHES));
224
+
225
+ return min($errors, 1);
226
+ }
227
+
228
+ private function getFiles(string $fileOrDirectory): iterable
229
+ {
230
+ if (is_file($fileOrDirectory)) {
231
+ yield new \SplFileInfo($fileOrDirectory);
232
+
233
+ return;
234
+ }
235
+
236
+ foreach ($this->getDirectoryIterator($fileOrDirectory) as $file) {
237
+ if (!\in_array($file->getExtension(), ['yml', 'yaml'])) {
238
+ continue;
239
+ }
240
+
241
+ yield $file;
242
+ }
243
+ }
244
+
245
+ private function getParser(): Parser
246
+ {
247
+ if (!$this->parser) {
248
+ $this->parser = new Parser();
249
+ }
250
+
251
+ return $this->parser;
252
+ }
253
+
254
+ private function getDirectoryIterator(string $directory): iterable
255
+ {
256
+ $default = function ($directory) {
257
+ return new \RecursiveIteratorIterator(
258
+ new \RecursiveDirectoryIterator($directory, \FilesystemIterator::SKIP_DOTS | \FilesystemIterator::FOLLOW_SYMLINKS),
259
+ \RecursiveIteratorIterator::LEAVES_ONLY
260
+ );
261
+ };
262
+
263
+ if (null !== $this->directoryIteratorProvider) {
264
+ return ($this->directoryIteratorProvider)($directory, $default);
265
+ }
266
+
267
+ return $default($directory);
268
+ }
269
+
270
+ private function isReadable(string $fileOrDirectory): bool
271
+ {
272
+ $default = function ($fileOrDirectory) {
273
+ return is_readable($fileOrDirectory);
274
+ };
275
+
276
+ if (null !== $this->isReadableProvider) {
277
+ return ($this->isReadableProvider)($fileOrDirectory, $default);
278
+ }
279
+
280
+ return $default($fileOrDirectory);
281
+ }
282
+
283
+ public function complete(CompletionInput $input, CompletionSuggestions $suggestions): void
284
+ {
285
+ if ($input->mustSuggestOptionValuesFor('format')) {
286
+ $suggestions->suggestValues(['txt', 'json', 'github']);
287
+ }
288
+ }
289
+ }