dropbox-sign 1.4.1 → 1.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (292) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +26 -24
  3. data/README.md +25 -4
  4. data/VERSION +1 -1
  5. data/docs/AccountCreateResponse.md +1 -1
  6. data/docs/AccountGetResponse.md +1 -1
  7. data/docs/AccountResponse.md +1 -0
  8. data/docs/AccountResponseQuotas.md +1 -0
  9. data/docs/AccountResponseUsage.md +10 -0
  10. data/docs/ApiAppGetResponse.md +1 -1
  11. data/docs/ApiAppListResponse.md +2 -2
  12. data/docs/BulkSendJobGetResponse.md +3 -3
  13. data/docs/BulkSendJobListResponse.md +2 -2
  14. data/docs/BulkSendJobSendResponse.md +1 -1
  15. data/docs/EmbeddedEditUrlResponse.md +1 -1
  16. data/docs/EmbeddedSignUrlResponse.md +1 -1
  17. data/docs/FaxLineAddUserRequest.md +12 -0
  18. data/docs/FaxLineApi.md +503 -0
  19. data/docs/FaxLineAreaCodeGetCountryEnum.md +9 -0
  20. data/docs/FaxLineAreaCodeGetProvinceEnum.md +9 -0
  21. data/docs/FaxLineAreaCodeGetResponse.md +10 -0
  22. data/docs/FaxLineAreaCodeGetStateEnum.md +9 -0
  23. data/docs/FaxLineCreateRequest.md +13 -0
  24. data/docs/FaxLineDeleteRequest.md +10 -0
  25. data/docs/FaxLineListResponse.md +12 -0
  26. data/docs/FaxLineRemoveUserRequest.md +12 -0
  27. data/docs/FaxLineResponse.md +11 -0
  28. data/docs/FaxLineResponseFaxLine.md +13 -0
  29. data/docs/FileResponse.md +2 -2
  30. data/docs/FileResponseDataUri.md +1 -1
  31. data/docs/ReportCreateResponse.md +1 -1
  32. data/docs/SignatureRequestGetResponse.md +1 -1
  33. data/docs/SignatureRequestListResponse.md +2 -2
  34. data/docs/TeamGetInfoResponse.md +1 -1
  35. data/docs/TeamGetResponse.md +1 -1
  36. data/docs/TeamInvitesResponse.md +1 -1
  37. data/docs/TeamMembersResponse.md +2 -2
  38. data/docs/TeamSubTeamsResponse.md +2 -2
  39. data/docs/TemplateCreateEmbeddedDraftResponse.md +1 -1
  40. data/docs/TemplateCreateResponse.md +1 -1
  41. data/docs/TemplateEditResponse.md +1 -1
  42. data/docs/TemplateGetResponse.md +1 -1
  43. data/docs/TemplateListResponse.md +2 -2
  44. data/docs/TemplateUpdateFilesResponse.md +1 -1
  45. data/docs/UnclaimedDraftCreateResponse.md +1 -1
  46. data/dropbox-sign.gemspec +2 -1
  47. data/examples/FaxLineAddUser.rb +19 -0
  48. data/examples/FaxLineAreaCodeGet.rb +15 -0
  49. data/examples/FaxLineCreate.rb +19 -0
  50. data/examples/FaxLineDelete.rb +17 -0
  51. data/examples/FaxLineGet.rb +15 -0
  52. data/examples/FaxLineList.rb +15 -0
  53. data/examples/FaxLineRemoveUser.rb +19 -0
  54. data/lib/dropbox-sign/api/account_api.rb +5 -5
  55. data/lib/dropbox-sign/api/api_app_api.rb +8 -8
  56. data/lib/dropbox-sign/api/bulk_send_job_api.rb +7 -7
  57. data/lib/dropbox-sign/api/embedded_api.rb +3 -3
  58. data/lib/dropbox-sign/api/fax_line_api.rb +746 -0
  59. data/lib/dropbox-sign/api/o_auth_api.rb +3 -3
  60. data/lib/dropbox-sign/api/report_api.rb +2 -2
  61. data/lib/dropbox-sign/api/signature_request_api.rb +21 -21
  62. data/lib/dropbox-sign/api/team_api.rb +15 -15
  63. data/lib/dropbox-sign/api/template_api.rb +15 -15
  64. data/lib/dropbox-sign/api/unclaimed_draft_api.rb +5 -5
  65. data/lib/dropbox-sign/api_client.rb +27 -25
  66. data/lib/dropbox-sign/api_error.rb +6 -2
  67. data/lib/dropbox-sign/configuration.rb +39 -9
  68. data/lib/dropbox-sign/event_callback_helper.rb +1 -1
  69. data/lib/dropbox-sign/models/account_create_request.rb +12 -15
  70. data/lib/dropbox-sign/models/account_create_response.rb +17 -15
  71. data/lib/dropbox-sign/models/account_get_response.rb +17 -15
  72. data/lib/dropbox-sign/models/account_response.rb +27 -20
  73. data/lib/dropbox-sign/models/account_response_quotas.rb +29 -20
  74. data/lib/dropbox-sign/models/account_response_usage.rb +250 -0
  75. data/lib/dropbox-sign/models/account_update_request.rb +12 -15
  76. data/lib/dropbox-sign/models/account_verify_request.rb +12 -15
  77. data/lib/dropbox-sign/models/account_verify_response.rb +12 -15
  78. data/lib/dropbox-sign/models/account_verify_response_account.rb +12 -15
  79. data/lib/dropbox-sign/models/api_app_create_request.rb +12 -16
  80. data/lib/dropbox-sign/models/api_app_get_response.rb +17 -15
  81. data/lib/dropbox-sign/models/api_app_list_response.rb +22 -15
  82. data/lib/dropbox-sign/models/api_app_response.rb +12 -15
  83. data/lib/dropbox-sign/models/api_app_response_o_auth.rb +12 -15
  84. data/lib/dropbox-sign/models/api_app_response_options.rb +12 -15
  85. data/lib/dropbox-sign/models/api_app_response_owner_account.rb +12 -15
  86. data/lib/dropbox-sign/models/api_app_response_white_labeling_options.rb +12 -15
  87. data/lib/dropbox-sign/models/api_app_update_request.rb +13 -16
  88. data/lib/dropbox-sign/models/bulk_send_job_get_response.rb +27 -15
  89. data/lib/dropbox-sign/models/bulk_send_job_get_response_signature_requests.rb +12 -15
  90. data/lib/dropbox-sign/models/bulk_send_job_list_response.rb +22 -15
  91. data/lib/dropbox-sign/models/bulk_send_job_response.rb +12 -15
  92. data/lib/dropbox-sign/models/bulk_send_job_send_response.rb +17 -15
  93. data/lib/dropbox-sign/models/embedded_edit_url_request.rb +12 -15
  94. data/lib/dropbox-sign/models/embedded_edit_url_response.rb +17 -15
  95. data/lib/dropbox-sign/models/embedded_edit_url_response_embedded.rb +12 -15
  96. data/lib/dropbox-sign/models/embedded_sign_url_response.rb +17 -15
  97. data/lib/dropbox-sign/models/embedded_sign_url_response_embedded.rb +12 -15
  98. data/lib/dropbox-sign/models/error_response.rb +12 -15
  99. data/lib/dropbox-sign/models/error_response_error.rb +12 -15
  100. data/lib/dropbox-sign/models/event_callback_request.rb +12 -15
  101. data/lib/dropbox-sign/models/event_callback_request_event.rb +12 -15
  102. data/lib/dropbox-sign/models/event_callback_request_event_metadata.rb +12 -15
  103. data/lib/dropbox-sign/models/fax_line_add_user_request.rb +275 -0
  104. data/lib/dropbox-sign/models/fax_line_area_code_get_country_enum.rb +44 -0
  105. data/lib/dropbox-sign/models/fax_line_area_code_get_province_enum.rb +54 -0
  106. data/lib/dropbox-sign/models/fax_line_area_code_get_response.rb +254 -0
  107. data/lib/dropbox-sign/models/fax_line_area_code_get_state_enum.rb +92 -0
  108. data/lib/dropbox-sign/models/fax_line_create_request.rb +325 -0
  109. data/lib/dropbox-sign/models/fax_line_delete_request.rb +253 -0
  110. data/lib/dropbox-sign/models/fax_line_list_response.rb +279 -0
  111. data/lib/dropbox-sign/models/fax_line_remove_user_request.rb +275 -0
  112. data/lib/dropbox-sign/models/fax_line_response.rb +262 -0
  113. data/lib/dropbox-sign/models/fax_line_response_fax_line.rb +282 -0
  114. data/lib/dropbox-sign/models/file_response.rb +22 -15
  115. data/lib/dropbox-sign/models/file_response_data_uri.rb +17 -15
  116. data/lib/dropbox-sign/models/list_info_response.rb +12 -15
  117. data/lib/dropbox-sign/models/o_auth_token_generate_request.rb +12 -15
  118. data/lib/dropbox-sign/models/o_auth_token_refresh_request.rb +12 -15
  119. data/lib/dropbox-sign/models/o_auth_token_response.rb +12 -15
  120. data/lib/dropbox-sign/models/report_create_request.rb +12 -15
  121. data/lib/dropbox-sign/models/report_create_response.rb +17 -15
  122. data/lib/dropbox-sign/models/report_response.rb +12 -15
  123. data/lib/dropbox-sign/models/signature_request_bulk_create_embedded_with_template_request.rb +15 -18
  124. data/lib/dropbox-sign/models/signature_request_bulk_send_with_template_request.rb +15 -18
  125. data/lib/dropbox-sign/models/signature_request_create_embedded_request.rb +15 -18
  126. data/lib/dropbox-sign/models/signature_request_create_embedded_with_template_request.rb +15 -18
  127. data/lib/dropbox-sign/models/signature_request_get_response.rb +17 -15
  128. data/lib/dropbox-sign/models/signature_request_list_response.rb +22 -15
  129. data/lib/dropbox-sign/models/signature_request_remind_request.rb +12 -15
  130. data/lib/dropbox-sign/models/signature_request_response.rb +12 -15
  131. data/lib/dropbox-sign/models/signature_request_response_attachment.rb +13 -16
  132. data/lib/dropbox-sign/models/signature_request_response_custom_field_base.rb +12 -15
  133. data/lib/dropbox-sign/models/signature_request_response_custom_field_checkbox.rb +12 -15
  134. data/lib/dropbox-sign/models/signature_request_response_custom_field_text.rb +12 -15
  135. data/lib/dropbox-sign/models/signature_request_response_custom_field_type_enum.rb +7 -4
  136. data/lib/dropbox-sign/models/signature_request_response_data_base.rb +12 -15
  137. data/lib/dropbox-sign/models/signature_request_response_data_type_enum.rb +7 -4
  138. data/lib/dropbox-sign/models/signature_request_response_data_value_checkbox.rb +12 -15
  139. data/lib/dropbox-sign/models/signature_request_response_data_value_checkbox_merge.rb +12 -15
  140. data/lib/dropbox-sign/models/signature_request_response_data_value_date_signed.rb +12 -15
  141. data/lib/dropbox-sign/models/signature_request_response_data_value_dropdown.rb +12 -15
  142. data/lib/dropbox-sign/models/signature_request_response_data_value_initials.rb +12 -15
  143. data/lib/dropbox-sign/models/signature_request_response_data_value_radio.rb +12 -15
  144. data/lib/dropbox-sign/models/signature_request_response_data_value_signature.rb +12 -15
  145. data/lib/dropbox-sign/models/signature_request_response_data_value_text.rb +12 -15
  146. data/lib/dropbox-sign/models/signature_request_response_data_value_text_merge.rb +12 -15
  147. data/lib/dropbox-sign/models/signature_request_response_signatures.rb +12 -15
  148. data/lib/dropbox-sign/models/signature_request_send_request.rb +15 -18
  149. data/lib/dropbox-sign/models/signature_request_send_with_template_request.rb +16 -18
  150. data/lib/dropbox-sign/models/signature_request_update_request.rb +12 -15
  151. data/lib/dropbox-sign/models/sub_attachment.rb +12 -15
  152. data/lib/dropbox-sign/models/sub_bulk_signer_list.rb +12 -15
  153. data/lib/dropbox-sign/models/sub_bulk_signer_list_custom_field.rb +12 -15
  154. data/lib/dropbox-sign/models/sub_cc.rb +12 -15
  155. data/lib/dropbox-sign/models/sub_custom_field.rb +12 -15
  156. data/lib/dropbox-sign/models/sub_editor_options.rb +12 -15
  157. data/lib/dropbox-sign/models/sub_field_options.rb +12 -15
  158. data/lib/dropbox-sign/models/sub_form_field_group.rb +12 -15
  159. data/lib/dropbox-sign/models/sub_form_field_rule.rb +12 -17
  160. data/lib/dropbox-sign/models/sub_form_field_rule_action.rb +12 -15
  161. data/lib/dropbox-sign/models/sub_form_field_rule_trigger.rb +12 -15
  162. data/lib/dropbox-sign/models/sub_form_fields_per_document_base.rb +12 -15
  163. data/lib/dropbox-sign/models/sub_form_fields_per_document_checkbox.rb +12 -15
  164. data/lib/dropbox-sign/models/sub_form_fields_per_document_checkbox_merge.rb +12 -15
  165. data/lib/dropbox-sign/models/sub_form_fields_per_document_date_signed.rb +12 -15
  166. data/lib/dropbox-sign/models/sub_form_fields_per_document_dropdown.rb +12 -16
  167. data/lib/dropbox-sign/models/sub_form_fields_per_document_font_enum.rb +7 -4
  168. data/lib/dropbox-sign/models/sub_form_fields_per_document_hyperlink.rb +12 -15
  169. data/lib/dropbox-sign/models/sub_form_fields_per_document_initials.rb +12 -15
  170. data/lib/dropbox-sign/models/sub_form_fields_per_document_radio.rb +12 -15
  171. data/lib/dropbox-sign/models/sub_form_fields_per_document_signature.rb +12 -15
  172. data/lib/dropbox-sign/models/sub_form_fields_per_document_text.rb +12 -15
  173. data/lib/dropbox-sign/models/sub_form_fields_per_document_text_merge.rb +12 -15
  174. data/lib/dropbox-sign/models/sub_form_fields_per_document_type_enum.rb +7 -4
  175. data/lib/dropbox-sign/models/sub_merge_field.rb +12 -15
  176. data/lib/dropbox-sign/models/sub_o_auth.rb +12 -15
  177. data/lib/dropbox-sign/models/sub_options.rb +12 -15
  178. data/lib/dropbox-sign/models/sub_signature_request_grouped_signers.rb +12 -15
  179. data/lib/dropbox-sign/models/sub_signature_request_signer.rb +14 -17
  180. data/lib/dropbox-sign/models/sub_signature_request_template_signer.rb +14 -17
  181. data/lib/dropbox-sign/models/sub_signing_options.rb +12 -15
  182. data/lib/dropbox-sign/models/sub_team_response.rb +12 -15
  183. data/lib/dropbox-sign/models/sub_template_role.rb +12 -15
  184. data/lib/dropbox-sign/models/sub_unclaimed_draft_signer.rb +12 -15
  185. data/lib/dropbox-sign/models/sub_unclaimed_draft_template_signer.rb +12 -15
  186. data/lib/dropbox-sign/models/sub_white_labeling_options.rb +12 -15
  187. data/lib/dropbox-sign/models/team_add_member_request.rb +12 -15
  188. data/lib/dropbox-sign/models/team_create_request.rb +12 -15
  189. data/lib/dropbox-sign/models/team_get_info_response.rb +17 -15
  190. data/lib/dropbox-sign/models/team_get_response.rb +17 -15
  191. data/lib/dropbox-sign/models/team_info_response.rb +12 -15
  192. data/lib/dropbox-sign/models/team_invite_response.rb +12 -15
  193. data/lib/dropbox-sign/models/team_invites_response.rb +17 -15
  194. data/lib/dropbox-sign/models/team_member_response.rb +12 -15
  195. data/lib/dropbox-sign/models/team_members_response.rb +22 -15
  196. data/lib/dropbox-sign/models/team_parent_response.rb +12 -15
  197. data/lib/dropbox-sign/models/team_remove_member_request.rb +12 -15
  198. data/lib/dropbox-sign/models/team_response.rb +12 -15
  199. data/lib/dropbox-sign/models/team_sub_teams_response.rb +22 -15
  200. data/lib/dropbox-sign/models/team_update_request.rb +12 -15
  201. data/lib/dropbox-sign/models/template_add_user_request.rb +12 -15
  202. data/lib/dropbox-sign/models/template_create_embedded_draft_request.rb +14 -17
  203. data/lib/dropbox-sign/models/template_create_embedded_draft_response.rb +17 -15
  204. data/lib/dropbox-sign/models/template_create_embedded_draft_response_template.rb +12 -15
  205. data/lib/dropbox-sign/models/template_create_request.rb +14 -17
  206. data/lib/dropbox-sign/models/template_create_response.rb +17 -15
  207. data/lib/dropbox-sign/models/template_create_response_template.rb +12 -15
  208. data/lib/dropbox-sign/models/template_edit_response.rb +17 -15
  209. data/lib/dropbox-sign/models/template_get_response.rb +17 -15
  210. data/lib/dropbox-sign/models/template_list_response.rb +22 -15
  211. data/lib/dropbox-sign/models/template_remove_user_request.rb +12 -15
  212. data/lib/dropbox-sign/models/template_response.rb +12 -15
  213. data/lib/dropbox-sign/models/template_response_account.rb +12 -15
  214. data/lib/dropbox-sign/models/template_response_account_quota.rb +12 -15
  215. data/lib/dropbox-sign/models/template_response_cc_role.rb +12 -15
  216. data/lib/dropbox-sign/models/template_response_document.rb +12 -15
  217. data/lib/dropbox-sign/models/template_response_document_custom_field_base.rb +13 -16
  218. data/lib/dropbox-sign/models/template_response_document_custom_field_checkbox.rb +12 -15
  219. data/lib/dropbox-sign/models/template_response_document_custom_field_text.rb +12 -15
  220. data/lib/dropbox-sign/models/template_response_document_field_group.rb +12 -15
  221. data/lib/dropbox-sign/models/template_response_document_field_group_rule.rb +12 -15
  222. data/lib/dropbox-sign/models/template_response_document_form_field_base.rb +13 -16
  223. data/lib/dropbox-sign/models/template_response_document_form_field_checkbox.rb +12 -15
  224. data/lib/dropbox-sign/models/template_response_document_form_field_date_signed.rb +12 -15
  225. data/lib/dropbox-sign/models/template_response_document_form_field_dropdown.rb +12 -15
  226. data/lib/dropbox-sign/models/template_response_document_form_field_hyperlink.rb +12 -15
  227. data/lib/dropbox-sign/models/template_response_document_form_field_initials.rb +12 -15
  228. data/lib/dropbox-sign/models/template_response_document_form_field_radio.rb +12 -15
  229. data/lib/dropbox-sign/models/template_response_document_form_field_signature.rb +12 -15
  230. data/lib/dropbox-sign/models/template_response_document_form_field_text.rb +12 -15
  231. data/lib/dropbox-sign/models/template_response_document_static_field_base.rb +12 -15
  232. data/lib/dropbox-sign/models/template_response_document_static_field_checkbox.rb +12 -15
  233. data/lib/dropbox-sign/models/template_response_document_static_field_date_signed.rb +12 -15
  234. data/lib/dropbox-sign/models/template_response_document_static_field_dropdown.rb +12 -15
  235. data/lib/dropbox-sign/models/template_response_document_static_field_hyperlink.rb +12 -15
  236. data/lib/dropbox-sign/models/template_response_document_static_field_initials.rb +12 -15
  237. data/lib/dropbox-sign/models/template_response_document_static_field_radio.rb +12 -15
  238. data/lib/dropbox-sign/models/template_response_document_static_field_signature.rb +12 -15
  239. data/lib/dropbox-sign/models/template_response_document_static_field_text.rb +12 -15
  240. data/lib/dropbox-sign/models/template_response_field_avg_text_length.rb +12 -15
  241. data/lib/dropbox-sign/models/template_response_signer_role.rb +12 -15
  242. data/lib/dropbox-sign/models/template_update_files_request.rb +14 -17
  243. data/lib/dropbox-sign/models/template_update_files_response.rb +17 -15
  244. data/lib/dropbox-sign/models/template_update_files_response_template.rb +12 -15
  245. data/lib/dropbox-sign/models/unclaimed_draft_create_embedded_request.rb +15 -17
  246. data/lib/dropbox-sign/models/unclaimed_draft_create_embedded_with_template_request.rb +15 -18
  247. data/lib/dropbox-sign/models/unclaimed_draft_create_request.rb +15 -17
  248. data/lib/dropbox-sign/models/unclaimed_draft_create_response.rb +17 -15
  249. data/lib/dropbox-sign/models/unclaimed_draft_edit_and_resend_request.rb +12 -15
  250. data/lib/dropbox-sign/models/unclaimed_draft_response.rb +12 -15
  251. data/lib/dropbox-sign/models/warning_response.rb +12 -15
  252. data/lib/dropbox-sign/version.rb +2 -2
  253. data/lib/dropbox-sign.rb +14 -1
  254. data/openapi-config.yaml +2 -1
  255. data/openapi-sdk.yaml +1164 -69
  256. data/run-build +2 -2
  257. data/spec/api_client_spec.rb +3 -1
  258. data/spec/configuration_spec.rb +1 -1
  259. data/spec/spec_helper.rb +1 -1
  260. data/templates/Gemfile.mustache +2 -0
  261. data/templates/README.mustache +91 -2
  262. data/templates/api.mustache +86 -14
  263. data/templates/api_client.mustache +23 -36
  264. data/templates/api_client_faraday_partial.mustache +108 -44
  265. data/templates/api_client_httpx_partial.mustache +134 -0
  266. data/templates/api_client_typhoeus_partial.mustache +23 -15
  267. data/templates/api_doc.mustache +88 -1
  268. data/templates/api_error.mustache +11 -0
  269. data/templates/api_info.mustache +1 -1
  270. data/templates/api_test.mustache +1 -1
  271. data/templates/base_object.mustache +75 -4
  272. data/templates/configuration.mustache +196 -33
  273. data/templates/{configuration_tls_faraday_partial.mustache → configuration_faraday_partial.mustache} +11 -0
  274. data/templates/configuration_httpx_partial.mustache +11 -0
  275. data/templates/{configuration_tls_typhoeus_partial.mustache → configuration_typhoeus_partial.mustache} +7 -0
  276. data/templates/gem.mustache +16 -0
  277. data/templates/gemspec.mustache +10 -4
  278. data/templates/gitignore.mustache +3 -1
  279. data/templates/gitlab-ci.mustache +26 -0
  280. data/templates/model.mustache +16 -0
  281. data/templates/model_test.mustache +8 -3
  282. data/templates/partial_anyof_module.mustache +96 -0
  283. data/templates/partial_model_enum_class.mustache +6 -3
  284. data/templates/partial_model_generic.mustache +77 -28
  285. data/templates/partial_model_generic_doc.mustache +28 -0
  286. data/templates/partial_oneof_module.mustache +4 -4
  287. data/templates/partial_oneof_module_doc.mustache +1 -0
  288. data/templates/travis.mustache +1 -4
  289. data/templates/version.mustache +2 -0
  290. metadata +46 -11
  291. data/templates/api_client_spec.mustache +0 -220
  292. data/templates/configuration_spec.mustache +0 -32
@@ -1,6 +1,31 @@
1
1
  # Builds the object from hash
2
2
  # @param [Hash] attributes Model attributes in the form of hash
3
3
  # @return [Object] Returns the model itself
4
+ {{^useCustomTemplateCode}}
5
+ def self.build_from_hash(attributes)
6
+ return nil unless attributes.is_a?(Hash)
7
+ {{#parent}}
8
+ super(attributes)
9
+ {{/parent}}
10
+ attributes = attributes.transform_keys(&:to_sym)
11
+ transformed_hash = {}
12
+ openapi_types.each_pair do |key, type|
13
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
14
+ transformed_hash["#{key}"] = nil
15
+ elsif type =~ /\AArray<(.*)>/i
16
+ # check to ensure the input is an array given that the attribute
17
+ # is documented as an array but the input is not
18
+ if attributes[attribute_map[key]].is_a?(Array)
19
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
20
+ end
21
+ elsif !attributes[attribute_map[key]].nil?
22
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
23
+ end
24
+ end
25
+ new(transformed_hash)
26
+ end
27
+ {{/useCustomTemplateCode}}
28
+ {{#useCustomTemplateCode}}
4
29
  def self.build_from_hash(attributes)
5
30
  {{#discriminator}}
6
31
  if !attributes[self.openapi_discriminator_name].nil?
@@ -38,12 +63,18 @@
38
63
 
39
64
  self
40
65
  end
66
+ {{/useCustomTemplateCode}}
41
67
 
42
68
  # Deserializes the data based on type
43
69
  # @param string type Data type
44
70
  # @param string value Value to be deserialized
45
71
  # @return [Object] Deserialized data
72
+ {{^useCustomTemplateCode}}
73
+ def self._deserialize(type, value)
74
+ {{/useCustomTemplateCode}}
75
+ {{#useCustomTemplateCode}}
46
76
  def _deserialize(type, value)
77
+ {{/useCustomTemplateCode}}
47
78
  case type.to_sym
48
79
  when :Time
49
80
  Time.parse(value)
@@ -61,8 +92,6 @@
61
92
  else
62
93
  false
63
94
  end
64
- when :File
65
- value
66
95
  when :Object
67
96
  # generic object (usually a Hash), return directly
68
97
  value
@@ -78,9 +107,11 @@
78
107
  end
79
108
  end
80
109
  else # model
81
- # models (e.g. Pet)
110
+ {{^useCustomTemplateCode}}
111
+ # models (e.g. Pet) or oneOf
112
+ {{/useCustomTemplateCode}}
82
113
  klass = {{moduleName}}.const_get(type)
83
- klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
114
+ klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
84
115
  end
85
116
  end
86
117
 
@@ -98,17 +129,37 @@
98
129
 
99
130
  # Returns the object in the form of hash
100
131
  # @return [Hash] Returns the object in the form of hash
132
+ {{^useCustomTemplateCode}}
133
+ def to_hash
134
+ {{/useCustomTemplateCode}}
135
+ {{#useCustomTemplateCode}}
101
136
  def to_hash(include_nil = true)
137
+ {{/useCustomTemplateCode}}
102
138
  hash = {{^parent}}{}{{/parent}}{{#parent}}super{{/parent}}
139
+ {{^useCustomTemplateCode}}
140
+ self.class.attribute_map.each_pair do |attr, param|
141
+ {{/useCustomTemplateCode}}
142
+ {{#useCustomTemplateCode}}
103
143
  self.class.merged_attributes.each_pair do |attr, param|
144
+ {{/useCustomTemplateCode}}
104
145
  value = self.send(attr)
105
146
  if value.nil?
147
+ {{^useCustomTemplateCode}}
148
+ is_nullable = self.class.openapi_nullable.include?(attr)
149
+ {{/useCustomTemplateCode}}
150
+ {{#useCustomTemplateCode}}
106
151
  next unless include_nil
107
152
  is_nullable = self.class.merged_nullable.include?(attr)
153
+ {{/useCustomTemplateCode}}
108
154
  next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
109
155
  end
110
156
 
157
+ {{^useCustomTemplateCode}}
158
+ hash[param] = _to_hash(value)
159
+ {{/useCustomTemplateCode}}
160
+ {{#useCustomTemplateCode}}
111
161
  hash[param] = _to_hash(value, include_nil)
162
+ {{/useCustomTemplateCode}}
112
163
  end
113
164
  hash
114
165
  end
@@ -117,15 +168,35 @@
117
168
  # For object, use to_hash. Otherwise, just return the value
118
169
  # @param [Object] value Any valid value
119
170
  # @return [Hash] Returns the value in the form of hash
171
+ {{^useCustomTemplateCode}}
172
+ def _to_hash(value)
173
+ {{/useCustomTemplateCode}}
174
+ {{#useCustomTemplateCode}}
120
175
  def _to_hash(value, include_nil = true)
176
+ {{/useCustomTemplateCode}}
121
177
  if value.is_a?(Array)
178
+ {{^useCustomTemplateCode}}
179
+ value.compact.map { |v| _to_hash(v) }
180
+ {{/useCustomTemplateCode}}
181
+ {{#useCustomTemplateCode}}
122
182
  value.compact.map { |v| _to_hash(v, include_nil) }
183
+ {{/useCustomTemplateCode}}
123
184
  elsif value.is_a?(Hash)
124
185
  {}.tap do |hash|
186
+ {{^useCustomTemplateCode}}
187
+ value.each { |k, v| hash[k] = _to_hash(v) }
188
+ {{/useCustomTemplateCode}}
189
+ {{#useCustomTemplateCode}}
125
190
  value.each { |k, v| hash[k] = _to_hash(v, include_nil) }
191
+ {{/useCustomTemplateCode}}
126
192
  end
127
193
  elsif value.respond_to? :to_hash
194
+ {{^useCustomTemplateCode}}
195
+ value.to_hash
196
+ {{/useCustomTemplateCode}}
197
+ {{#useCustomTemplateCode}}
128
198
  value.to_hash(include_nil)
199
+ {{/useCustomTemplateCode}}
129
200
  else
130
201
  value
131
202
  end
@@ -2,9 +2,11 @@
2
2
  {{> api_info}}
3
3
  =end
4
4
 
5
+ {{#useCustomTemplateCode}}
5
6
  module Dropbox
6
7
  end
7
8
 
9
+ {{/useCustomTemplateCode}}
8
10
  module {{moduleName}}
9
11
  class Configuration
10
12
  # Defines url scheme
@@ -57,6 +59,16 @@ module {{moduleName}}
57
59
  # Defines the access token (Bearer) used with OAuth2.
58
60
  attr_accessor :access_token
59
61
 
62
+ # Defines a Proc used to fetch or refresh access tokens (Bearer) used with OAuth2.
63
+ # Overrides the access_token if set
64
+ # @return [Proc]
65
+ attr_accessor :access_token_getter
66
+
67
+ # Set this to return data as binary instead of downloading a temp file. When enabled (set to true)
68
+ # HTTP responses with return type `File` will be returned as a stream of binary data.
69
+ # Default to false.
70
+ attr_accessor :return_binary_data
71
+
60
72
  # Set this to enable/disable debugging. When enabled (set to true), HTTP request/response
61
73
  # details will be logged with `logger.debug` (see the `logger` attribute).
62
74
  # Default to false.
@@ -64,6 +76,14 @@ module {{moduleName}}
64
76
  # @return [true, false]
65
77
  attr_accessor :debugging
66
78
 
79
+ # Set this to ignore operation servers for the API client. This is useful when you need to
80
+ # send requests to a different server than the one specified in the OpenAPI document.
81
+ # Will default to the base url defined in the spec but can be overridden by setting
82
+ # `scheme`, `host`, `base_path` directly.
83
+ # Default to false.
84
+ # @return [true, false]
85
+ attr_accessor :ignore_operation_servers
86
+
67
87
  # Defines the logger used for debugging.
68
88
  # Default to `Rails.logger` (when in Rails) or logging to STDOUT.
69
89
  #
@@ -86,18 +106,15 @@ module {{moduleName}}
86
106
  # @return [true, false]
87
107
  attr_accessor :client_side_validation
88
108
 
89
- {{^isFaraday}}
90
- {{> configuration_tls_typhoeus_partial}}
91
- {{/isFaraday}}
109
+ {{#isTyphoeus}}
110
+ {{> configuration_typhoeus_partial}}
111
+ {{/isTyphoeus}}
92
112
  {{#isFaraday}}
93
- {{> configuration_tls_faraday_partial}}
113
+ {{> configuration_faraday_partial}}
94
114
  {{/isFaraday}}
95
- # Set this to customize parameters encoding of array parameter with multi collectionFormat.
96
- # Default to nil.
97
- #
98
- # @see The params_encoding option of Ethon. Related source code:
99
- # https://github.com/typhoeus/ethon/blob/master/lib/ethon/easy/queryable.rb#L96
100
- attr_accessor :params_encoding
115
+ {{#isHttpx}}
116
+ {{> configuration_httpx_partial}}
117
+ {{/isHttpx}}
101
118
 
102
119
  attr_accessor :inject_format
103
120
 
@@ -107,7 +124,7 @@ module {{moduleName}}
107
124
  @scheme = '{{scheme}}'
108
125
  @host = '{{host}}{{#port}}:{{{.}}}{{/port}}'
109
126
  @base_path = '{{contextPath}}'
110
- @server_index = 0
127
+ @server_index = nil
111
128
  @server_operation_index = {}
112
129
  @server_variables = {}
113
130
  @server_operation_variables = {}
@@ -120,20 +137,29 @@ module {{moduleName}}
120
137
  @ssl_ca_file = nil
121
138
  @ssl_client_cert = nil
122
139
  @ssl_client_key = nil
123
- @middlewares = []
124
- @request_middlewares = []
125
- @response_middlewares = []
140
+ @middlewares = Hash.new { |h, k| h[k] = [] }
141
+ @configure_connection_blocks = []
126
142
  @timeout = 60
143
+ # return data as binary instead of file
144
+ @return_binary_data = false
145
+ @params_encoder = nil
127
146
  {{/isFaraday}}
128
- {{^isFaraday}}
147
+ {{#isTyphoeus}}
129
148
  @verify_ssl = true
130
149
  @verify_ssl_host = true
131
- @params_encoding = nil
132
150
  @cert_file = nil
133
151
  @key_file = nil
134
152
  @timeout = 0
135
- {{/isFaraday}}
153
+ @params_encoding = nil
154
+ {{/isTyphoeus}}
155
+ {{#isHttpx}}
156
+ @ssl = nil
157
+ @proxy = nil
158
+ @timeout = 60
159
+ @configure_session_blocks = []
160
+ {{/isHttpx}}
136
161
  @debugging = false
162
+ @ignore_operation_servers = false
137
163
  @inject_format = false
138
164
  @force_ending_format = false
139
165
  @logger = defined?(Rails) ? Rails.logger : Logger.new(STDOUT)
@@ -168,10 +194,13 @@ module {{moduleName}}
168
194
 
169
195
  # Returns base URL for specified operation based on server settings
170
196
  def base_url(operation = nil)
171
- index = server_operation_index.fetch(operation, server_index)
172
- return "#{scheme}://#{[host, base_path].join('/').gsub(/\/+/, '/')}".sub(/\/+\z/, '') if index == nil
173
-
174
- server_url(index, server_operation_variables.fetch(operation, server_variables), operation_server_settings[operation])
197
+ return "#{scheme}://#{[host, base_path].join('/').gsub(/\/+/, '/')}".sub(/\/+\z/, '') if ignore_operation_servers
198
+ if operation_server_settings.key?(operation) then
199
+ index = server_operation_index.fetch(operation, server_index)
200
+ server_url(index.nil? ? 0 : index, server_operation_variables.fetch(operation, server_variables), operation_server_settings[operation])
201
+ else
202
+ server_index.nil? ? "#{scheme}://#{[host, base_path].join('/').gsub(/\/+/, '/')}".sub(/\/+\z/, '') : server_url(server_index, server_variables, nil)
203
+ end
175
204
  end
176
205
 
177
206
  # Gets API key (with prefix if set).
@@ -186,12 +215,67 @@ module {{moduleName}}
186
215
  end
187
216
  end
188
217
 
218
+ # Gets access_token using access_token_getter or uses the static access_token
219
+ def access_token_with_refresh
220
+ return access_token if access_token_getter.nil?
221
+ access_token_getter.call
222
+ end
223
+
189
224
  # Gets Basic Auth token string
190
225
  def basic_auth_token
191
226
  'Basic ' + ["#{username}:#{password}"].pack('m').delete("\r\n")
192
227
  end
193
228
 
194
229
  # Returns Auth Settings hash for api client.
230
+ {{^useCustomTemplateCode}}
231
+ def auth_settings
232
+ {
233
+ {{#authMethods}}
234
+ {{#isApiKey}}
235
+ '{{name}}' =>
236
+ {
237
+ type: 'api_key',
238
+ in: {{#isKeyInHeader}}'header'{{/isKeyInHeader}}{{#isKeyInQuery}}'query'{{/isKeyInQuery}},
239
+ key: '{{keyParamName}}',
240
+ value: api_key_with_prefix('{{name}}'{{#vendorExtensions.x-auth-id-alias}}, '{{.}}'{{/vendorExtensions.x-auth-id-alias}})
241
+ },
242
+ {{/isApiKey}}
243
+ {{#isBasic}}
244
+ {{#isBasicBasic}}
245
+ '{{name}}' =>
246
+ {
247
+ type: 'basic',
248
+ in: 'header',
249
+ key: 'Authorization',
250
+ value: basic_auth_token
251
+ },
252
+ {{/isBasicBasic}}
253
+ {{#isBasicBearer}}
254
+ '{{name}}' =>
255
+ {
256
+ type: 'bearer',
257
+ in: 'header',
258
+ {{#bearerFormat}}
259
+ format: '{{{.}}}',
260
+ {{/bearerFormat}}
261
+ key: 'Authorization',
262
+ value: "Bearer #{access_token_with_refresh}"
263
+ },
264
+ {{/isBasicBearer}}
265
+ {{/isBasic}}
266
+ {{#isOAuth}}
267
+ '{{name}}' =>
268
+ {
269
+ type: 'oauth2',
270
+ in: 'header',
271
+ key: 'Authorization',
272
+ value: "Bearer #{access_token_with_refresh}"
273
+ },
274
+ {{/isOAuth}}
275
+ {{/authMethods}}
276
+ }
277
+ {{/useCustomTemplateCode}}
278
+ {{#useCustomTemplateCode}}
195
279
  def auth_settings()
196
280
  result = {}
197
281
  {{#authMethods}}
@@ -222,6 +306,7 @@ module {{moduleName}}
222
306
  {{/isBasic}}
223
307
  {{/authMethods}}
224
308
  return result
309
+ {{/useCustomTemplateCode}}
225
310
  end
226
311
 
227
312
  # Returns an array of Server setting
@@ -229,7 +314,12 @@ module {{moduleName}}
229
314
  [
230
315
  {{#servers}}
231
316
  {
317
+ {{^useCustomTemplateCode}}
318
+ url: "{{{url}}}",
319
+ {{/useCustomTemplateCode}}
320
+ {{#useCustomTemplateCode}}
232
321
  url: "#{scheme}://#{[host, base_path].join('/').gsub(/\/+/, '/')}".sub(/\/+\z/, ''),
322
+ {{/useCustomTemplateCode}}
233
323
  description: "{{{description}}}{{^description}}No description provided{{/description}}",
234
324
  {{#variables}}
235
325
  {{#-first}}
@@ -311,8 +401,8 @@ module {{moduleName}}
311
401
  servers = server_settings if servers == nil
312
402
 
313
403
  # check array index out of bound
314
- if (index < 0 || index >= servers.size)
315
- fail ArgumentError, "Invalid index #{index} when selecting the server. Must be less than #{servers.size}"
404
+ if (index.nil? || index < 0 || index >= servers.size)
405
+ fail ArgumentError, "Invalid index #{index} when selecting the server. Must not be nil and must be less than #{servers.size}"
316
406
  end
317
407
 
318
408
  server = servers[index]
@@ -338,35 +428,108 @@ module {{moduleName}}
338
428
  end
339
429
 
340
430
  {{#isFaraday}}
431
+ # Configure Faraday connection directly.
432
+ #
433
+ # ```
434
+ # c.configure_faraday_connection do |conn|
435
+ # conn.use Faraday::HttpCache, shared_cache: false, logger: logger
436
+ # conn.response :logger, nil, headers: true, bodies: true, log_level: :debug do |logger|
437
+ # logger.filter(/(Authorization: )(.*)/, '\1[REDACTED]')
438
+ # end
439
+ # end
440
+ #
441
+ # c.configure_faraday_connection do |conn|
442
+ # conn.adapter :typhoeus
443
+ # end
444
+ # ```
445
+ #
446
+ # @param block [Proc] `#call`able object that takes one arg, the connection
447
+ def configure_faraday_connection(&block)
448
+ @configure_connection_blocks << block
449
+ end
450
+
451
+ def configure_connection(conn)
452
+ @configure_connection_blocks.each do |block|
453
+ block.call(conn)
454
+ end
455
+ end
456
+
341
457
  # Adds middleware to the stack
342
458
  def use(*middleware)
343
- @middlewares << middleware
459
+ set_faraday_middleware(:use, *middleware)
344
460
  end
345
461
 
346
462
  # Adds request middleware to the stack
347
463
  def request(*middleware)
348
- @request_middlewares << middleware
464
+ set_faraday_middleware(:request, *middleware)
349
465
  end
350
466
 
351
467
  # Adds response middleware to the stack
352
468
  def response(*middleware)
353
- @response_middlewares << middleware
469
+ set_faraday_middleware(:response, *middleware)
354
470
  end
355
471
 
472
+ # Adds Faraday middleware setting information to the stack
473
+ #
474
+ # @example Use the `set_faraday_middleware` method to set middleware information
475
+ # config.set_faraday_middleware(:request, :retry, max: 3, methods: [:get, :post], retry_statuses: [503])
476
+ # config.set_faraday_middleware(:response, :logger, nil, { bodies: true, log_level: :debug })
477
+ # config.set_faraday_middleware(:use, Faraday::HttpCache, store: Rails.cache, shared_cache: false)
478
+ # config.set_faraday_middleware(:insert, 0, FaradayMiddleware::FollowRedirects, { standards_compliant: true, limit: 1 })
479
+ # config.set_faraday_middleware(:swap, 0, Faraday::Response::Logger)
480
+ # config.set_faraday_middleware(:delete, Faraday::Multipart::Middleware)
481
+ #
482
+ # @see https://github.com/lostisland/faraday/blob/v2.3.0/lib/faraday/rack_builder.rb#L92-L143
483
+ def set_faraday_middleware(operation, key, *args, &block)
484
+ unless [:request, :response, :use, :insert, :insert_before, :insert_after, :swap, :delete].include?(operation)
485
+ fail ArgumentError, "Invalid faraday middleware operation #{operation}. Must be" \
486
+ " :request, :response, :use, :insert, :insert_before, :insert_after, :swap or :delete."
487
+ end
488
+
489
+ @middlewares[operation] << [key, args, block]
490
+ end
491
+ ruby2_keywords(:set_faraday_middleware) if respond_to?(:ruby2_keywords, true)
492
+
356
493
  # Set up middleware on the connection
357
494
  def configure_middleware(connection)
358
- @middlewares.each do |middleware|
359
- connection.use(*middleware)
360
- end
495
+ return if @middlewares.empty?
496
+
497
+ [:request, :response, :use, :insert, :insert_before, :insert_after, :swap].each do |operation|
498
+ next unless @middlewares.key?(operation)
361
499
 
362
- @request_middlewares.each do |middleware|
363
- connection.request(*middleware)
500
+ @middlewares[operation].each do |key, args, block|
501
+ connection.builder.send(operation, key, *args, &block)
502
+ end
364
503
  end
365
504
 
366
- @response_middlewares.each do |middleware|
367
- connection.response(*middleware)
505
+ if @middlewares.key?(:delete)
506
+ @middlewares[:delete].each do |key, _args, _block|
507
+ connection.builder.delete(key)
508
+ end
368
509
  end
369
510
  end
370
511
  {{/isFaraday}}
512
+
513
+ {{#isHttpx}}
514
+ # Configure Httpx session directly.
515
+ #
516
+ # ```
517
+ # c.configure_session do |http|
518
+ # http.plugin(:follow_redirects).with(debug: STDOUT, debug_level: 1)
519
+ # end
520
+ # ```
521
+ #
522
+ # @param block [Proc] `#call`able object that takes one arg, the connection
523
+ def configure_session(&block)
524
+ @configure_session_blocks << block
525
+ end
526
+
527
+
528
+ def configure(session)
529
+ @configure_session_blocks.reduce(session) do |configured_sess, block|
530
+ block.call(configured_sess)
531
+ end
532
+ end
533
+ {{/isHttpx}}
371
534
  end
372
535
  end
@@ -27,3 +27,14 @@
27
27
  ### TLS/SSL setting
28
28
  # Client private key file (for client certificate)
29
29
  attr_accessor :ssl_client_key
30
+
31
+ ### Proxy setting
32
+ # HTTP Proxy settings
33
+ attr_accessor :proxy
34
+
35
+ # Set this to customize parameters encoder of array parameter.
36
+ # Default to nil. Faraday uses NestedParamsEncoder when nil.
37
+ #
38
+ # @see The params_encoder option of Faraday. Related source code:
39
+ # https://github.com/lostisland/faraday/tree/main/lib/faraday/encoders
40
+ attr_accessor :params_encoder
@@ -0,0 +1,11 @@
1
+ ### TLS/SSL setting
2
+ # You can use this to customize SSL Context settings (see https://ruby-doc.org/stdlib-2.5.1/libdoc/openssl/rdoc/OpenSSL/SSL/SSLContext.html
3
+ # to know which ones).
4
+ #
5
+ # @return [Hash{Symbol => Object}, OpenSSL::SSL::SSLContext, nil]
6
+ attr_accessor :ssl
7
+
8
+ ### Proxy setting
9
+ # HTTP Proxy settings (see https://honeyryderchuck.gitlab.io/httpx/wiki/Proxy#options)
10
+ # @return [Hash{Symbol => Object}, nil]
11
+ attr_accessor :proxy
@@ -32,3 +32,10 @@
32
32
  ### TLS/SSL setting
33
33
  # Client private key file (for client certificate)
34
34
  attr_accessor :key_file
35
+
36
+ # Set this to customize parameters encoding of array parameter with multi collectionFormat.
37
+ # Default to nil.
38
+ #
39
+ # @see The params_encoding option of Ethon. Related source code:
40
+ # https://github.com/typhoeus/ethon/blob/master/lib/ethon/easy/queryable.rb#L96
41
+ attr_accessor :params_encoding
@@ -9,6 +9,7 @@ require '{{gemName}}/version'
9
9
  require '{{gemName}}/configuration'
10
10
 
11
11
  # Models
12
+ {{^useAutoload}}
12
13
  {{#models}}
13
14
  {{#model}}
14
15
  {{^parent}}
@@ -23,19 +24,34 @@ require '{{gemName}}/{{modelPackage}}/{{classFilename}}'
23
24
  {{/parent}}
24
25
  {{/model}}
25
26
  {{/models}}
27
+ {{/useAutoload}}
28
+ {{#useAutoload}}
29
+ {{#models}}
30
+ {{#model}}
31
+ {{moduleName}}.autoload :{{classname}}, '{{gemName}}/{{modelPackage}}/{{classFilename}}'
32
+ {{/model}}
33
+ {{/models}}
34
+ {{/useAutoload}}
26
35
 
27
36
  # APIs
28
37
  {{#apiInfo}}
29
38
  {{#apis}}
39
+ {{^useAutoload}}
30
40
  require '{{importPath}}'
41
+ {{/useAutoload}}
42
+ {{#useAutoload}}
43
+ {{moduleName}}.autoload :{{classname}}, '{{importPath}}'
44
+ {{/useAutoload}}
31
45
  {{/apis}}
32
46
  {{/apiInfo}}
33
47
 
48
+ {{#useCustomTemplateCode}}
34
49
  require '{{gemName}}/event_callback_helper'
35
50
 
36
51
  module Dropbox
37
52
  end
38
53
 
54
+ {{/useCustomTemplateCode}}
39
55
  module {{moduleName}}
40
56
  class << self
41
57
  # Customize default settings for the SDK using block.
@@ -17,14 +17,20 @@ Gem::Specification.new do |s|
17
17
  s.summary = "{{gemSummary}}{{^gemSummary}}{{{appName}}} Ruby Gem{{/gemSummary}}"
18
18
  s.description = "{{gemDescription}}{{^gemDescription}}{{{appDescription}}}{{^appDescription}}{{{appName}}} Ruby Gem{{/appDescription}}{{/gemDescription}}"
19
19
  s.license = "{{{gemLicense}}}{{^gemLicense}}Unlicense{{/gemLicense}}"
20
- s.required_ruby_version = "{{{gemRequiredRubyVersion}}}{{^gemRequiredRubyVersion}}>= 2.4{{/gemRequiredRubyVersion}}"
20
+ s.required_ruby_version = "{{{gemRequiredRubyVersion}}}{{^gemRequiredRubyVersion}}>= 2.7{{/gemRequiredRubyVersion}}"
21
+ s.metadata = {{{gemMetadata}}}{{^gemMetadata}}{}{{/gemMetadata}}
21
22
 
22
23
  {{#isFaraday}}
23
- s.add_runtime_dependency 'faraday', '~> 1.0', '>= 1.0.1'
24
+ s.add_runtime_dependency 'faraday', '>= 1.0.1', '< 3.0'
25
+ s.add_runtime_dependency 'faraday-multipart'
26
+ s.add_runtime_dependency 'marcel'
24
27
  {{/isFaraday}}
25
- {{^isFaraday}}
28
+ {{#isTyphoeus}}
26
29
  s.add_runtime_dependency 'typhoeus', '~> 1.0', '>= 1.0.1'
27
- {{/isFaraday}}
30
+ {{/isTyphoeus}}
31
+ {{#isHttpx}}
32
+ s.add_runtime_dependency 'httpx', '~> 1.0', '>= 1.0.0'
33
+ {{/isHttpx}}
28
34
 
29
35
  s.add_development_dependency 'rspec', '~> 3.6', '>= 3.6.0'
30
36
 
@@ -38,4 +38,6 @@ build/
38
38
  # unless supporting rvm < 1.11.0 or doing something fancy, ignore this:
39
39
  .rvmrc
40
40
 
41
- vendor
41
+ {{#useCustomTemplateCode}}
42
+ vendor
43
+ {{/useCustomTemplateCode}}
@@ -0,0 +1,26 @@
1
+ .ruby: &ruby
2
+ variables:
3
+ LANG: "C.UTF-8"
4
+ before_script:
5
+ - ruby -v
6
+ - bundle config set --local deployment true
7
+ - bundle install -j $(nproc)
8
+ parallel:
9
+ matrix:
10
+ - RUBY_VERSION: ['2.7', '3.0', '3.1']
11
+ image: "ruby:$RUBY_VERSION"
12
+ cache:
13
+ paths:
14
+ - vendor/ruby
15
+ key: 'ruby-$RUBY_VERSION'
16
+
17
+ gem:
18
+ extends: .ruby
19
+ script:
20
+ - bundle exec rspec
21
+ - bundle exec rake build
22
+ - bundle exec rake install
23
+ artifacts:
24
+ paths:
25
+ - pkg/*.gem
26
+
@@ -5,9 +5,11 @@
5
5
  require 'date'
6
6
  require 'time'
7
7
 
8
+ {{#useCustomTemplateCode}}
8
9
  module Dropbox
9
10
  end
10
11
 
12
+ {{/useCustomTemplateCode}}
11
13
  module {{moduleName}}
12
14
  {{#models}}
13
15
  {{#model}}
@@ -20,8 +22,22 @@ module {{moduleName}}
20
22
  {{>partial_oneof_module}}
21
23
  {{/-first}}
22
24
  {{/oneOf}}
25
+ {{^useCustomTemplateCode}}
26
+ {{#anyOf}}
27
+ {{#-first}}
28
+ {{>partial_anyof_module}}
29
+ {{/-first}}
30
+ {{/anyOf}}
31
+ {{/useCustomTemplateCode}}
23
32
  {{^oneOf}}
33
+ {{^useCustomTemplateCode}}
34
+ {{^anyOf}}
35
+ {{>partial_model_generic}}
36
+ {{/anyOf}}
37
+ {{/useCustomTemplateCode}}
38
+ {{#useCustomTemplateCode}}
24
39
  {{>partial_model_generic}}
40
+ {{/useCustomTemplateCode}}
25
41
  {{/oneOf}}
26
42
  {{/isEnum}}
27
43
  {{/model}}