dropbox-sign 1.4.1 → 1.5.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 (226) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +26 -24
  3. data/README.md +6 -4
  4. data/VERSION +1 -1
  5. data/docs/AccountResponse.md +1 -0
  6. data/docs/AccountResponseQuotas.md +1 -0
  7. data/docs/AccountResponseUsage.md +10 -0
  8. data/dropbox-sign.gemspec +2 -1
  9. data/lib/dropbox-sign/api/account_api.rb +1 -1
  10. data/lib/dropbox-sign/api/api_app_api.rb +3 -3
  11. data/lib/dropbox-sign/api/bulk_send_job_api.rb +5 -5
  12. data/lib/dropbox-sign/api/embedded_api.rb +1 -1
  13. data/lib/dropbox-sign/api/o_auth_api.rb +1 -1
  14. data/lib/dropbox-sign/api/report_api.rb +1 -1
  15. data/lib/dropbox-sign/api/signature_request_api.rb +5 -5
  16. data/lib/dropbox-sign/api/team_api.rb +5 -5
  17. data/lib/dropbox-sign/api/template_api.rb +4 -4
  18. data/lib/dropbox-sign/api/unclaimed_draft_api.rb +1 -1
  19. data/lib/dropbox-sign/api_client.rb +27 -24
  20. data/lib/dropbox-sign/api_error.rb +2 -1
  21. data/lib/dropbox-sign/configuration.rb +39 -9
  22. data/lib/dropbox-sign/event_callback_helper.rb +1 -1
  23. data/lib/dropbox-sign/models/account_create_request.rb +2 -4
  24. data/lib/dropbox-sign/models/account_create_response.rb +2 -4
  25. data/lib/dropbox-sign/models/account_get_response.rb +2 -4
  26. data/lib/dropbox-sign/models/account_response.rb +17 -9
  27. data/lib/dropbox-sign/models/account_response_quotas.rb +19 -9
  28. data/lib/dropbox-sign/models/account_response_usage.rb +251 -0
  29. data/lib/dropbox-sign/models/account_update_request.rb +2 -4
  30. data/lib/dropbox-sign/models/account_verify_request.rb +2 -4
  31. data/lib/dropbox-sign/models/account_verify_response.rb +2 -4
  32. data/lib/dropbox-sign/models/account_verify_response_account.rb +2 -4
  33. data/lib/dropbox-sign/models/api_app_create_request.rb +2 -4
  34. data/lib/dropbox-sign/models/api_app_get_response.rb +2 -4
  35. data/lib/dropbox-sign/models/api_app_list_response.rb +2 -4
  36. data/lib/dropbox-sign/models/api_app_response.rb +2 -4
  37. data/lib/dropbox-sign/models/api_app_response_o_auth.rb +2 -4
  38. data/lib/dropbox-sign/models/api_app_response_options.rb +2 -4
  39. data/lib/dropbox-sign/models/api_app_response_owner_account.rb +2 -4
  40. data/lib/dropbox-sign/models/api_app_response_white_labeling_options.rb +2 -4
  41. data/lib/dropbox-sign/models/api_app_update_request.rb +3 -5
  42. data/lib/dropbox-sign/models/bulk_send_job_get_response.rb +2 -4
  43. data/lib/dropbox-sign/models/bulk_send_job_get_response_signature_requests.rb +2 -4
  44. data/lib/dropbox-sign/models/bulk_send_job_list_response.rb +2 -4
  45. data/lib/dropbox-sign/models/bulk_send_job_response.rb +2 -4
  46. data/lib/dropbox-sign/models/bulk_send_job_send_response.rb +2 -4
  47. data/lib/dropbox-sign/models/embedded_edit_url_request.rb +2 -4
  48. data/lib/dropbox-sign/models/embedded_edit_url_response.rb +2 -4
  49. data/lib/dropbox-sign/models/embedded_edit_url_response_embedded.rb +2 -4
  50. data/lib/dropbox-sign/models/embedded_sign_url_response.rb +2 -4
  51. data/lib/dropbox-sign/models/embedded_sign_url_response_embedded.rb +2 -4
  52. data/lib/dropbox-sign/models/error_response.rb +2 -4
  53. data/lib/dropbox-sign/models/error_response_error.rb +2 -4
  54. data/lib/dropbox-sign/models/event_callback_request.rb +2 -4
  55. data/lib/dropbox-sign/models/event_callback_request_event.rb +2 -4
  56. data/lib/dropbox-sign/models/event_callback_request_event_metadata.rb +2 -4
  57. data/lib/dropbox-sign/models/file_response.rb +2 -4
  58. data/lib/dropbox-sign/models/file_response_data_uri.rb +2 -4
  59. data/lib/dropbox-sign/models/list_info_response.rb +2 -4
  60. data/lib/dropbox-sign/models/o_auth_token_generate_request.rb +2 -4
  61. data/lib/dropbox-sign/models/o_auth_token_refresh_request.rb +2 -4
  62. data/lib/dropbox-sign/models/o_auth_token_response.rb +2 -4
  63. data/lib/dropbox-sign/models/report_create_request.rb +2 -4
  64. data/lib/dropbox-sign/models/report_create_response.rb +2 -4
  65. data/lib/dropbox-sign/models/report_response.rb +2 -4
  66. data/lib/dropbox-sign/models/signature_request_bulk_create_embedded_with_template_request.rb +5 -7
  67. data/lib/dropbox-sign/models/signature_request_bulk_send_with_template_request.rb +5 -7
  68. data/lib/dropbox-sign/models/signature_request_create_embedded_request.rb +5 -7
  69. data/lib/dropbox-sign/models/signature_request_create_embedded_with_template_request.rb +5 -7
  70. data/lib/dropbox-sign/models/signature_request_get_response.rb +2 -4
  71. data/lib/dropbox-sign/models/signature_request_list_response.rb +2 -4
  72. data/lib/dropbox-sign/models/signature_request_remind_request.rb +2 -4
  73. data/lib/dropbox-sign/models/signature_request_response.rb +2 -4
  74. data/lib/dropbox-sign/models/signature_request_response_attachment.rb +2 -4
  75. data/lib/dropbox-sign/models/signature_request_response_custom_field_base.rb +2 -4
  76. data/lib/dropbox-sign/models/signature_request_response_custom_field_checkbox.rb +2 -4
  77. data/lib/dropbox-sign/models/signature_request_response_custom_field_text.rb +2 -4
  78. data/lib/dropbox-sign/models/signature_request_response_custom_field_type_enum.rb +8 -4
  79. data/lib/dropbox-sign/models/signature_request_response_data_base.rb +2 -4
  80. data/lib/dropbox-sign/models/signature_request_response_data_type_enum.rb +8 -4
  81. data/lib/dropbox-sign/models/signature_request_response_data_value_checkbox.rb +2 -4
  82. data/lib/dropbox-sign/models/signature_request_response_data_value_checkbox_merge.rb +2 -4
  83. data/lib/dropbox-sign/models/signature_request_response_data_value_date_signed.rb +2 -4
  84. data/lib/dropbox-sign/models/signature_request_response_data_value_dropdown.rb +2 -4
  85. data/lib/dropbox-sign/models/signature_request_response_data_value_initials.rb +2 -4
  86. data/lib/dropbox-sign/models/signature_request_response_data_value_radio.rb +2 -4
  87. data/lib/dropbox-sign/models/signature_request_response_data_value_signature.rb +2 -4
  88. data/lib/dropbox-sign/models/signature_request_response_data_value_text.rb +2 -4
  89. data/lib/dropbox-sign/models/signature_request_response_data_value_text_merge.rb +2 -4
  90. data/lib/dropbox-sign/models/signature_request_response_signatures.rb +2 -4
  91. data/lib/dropbox-sign/models/signature_request_send_request.rb +5 -7
  92. data/lib/dropbox-sign/models/signature_request_send_with_template_request.rb +6 -7
  93. data/lib/dropbox-sign/models/signature_request_update_request.rb +2 -4
  94. data/lib/dropbox-sign/models/sub_attachment.rb +2 -4
  95. data/lib/dropbox-sign/models/sub_bulk_signer_list.rb +2 -4
  96. data/lib/dropbox-sign/models/sub_bulk_signer_list_custom_field.rb +2 -4
  97. data/lib/dropbox-sign/models/sub_cc.rb +2 -4
  98. data/lib/dropbox-sign/models/sub_custom_field.rb +2 -4
  99. data/lib/dropbox-sign/models/sub_editor_options.rb +2 -4
  100. data/lib/dropbox-sign/models/sub_field_options.rb +2 -4
  101. data/lib/dropbox-sign/models/sub_form_field_group.rb +2 -4
  102. data/lib/dropbox-sign/models/sub_form_field_rule.rb +2 -4
  103. data/lib/dropbox-sign/models/sub_form_field_rule_action.rb +2 -4
  104. data/lib/dropbox-sign/models/sub_form_field_rule_trigger.rb +2 -4
  105. data/lib/dropbox-sign/models/sub_form_fields_per_document_base.rb +2 -4
  106. data/lib/dropbox-sign/models/sub_form_fields_per_document_checkbox.rb +2 -4
  107. data/lib/dropbox-sign/models/sub_form_fields_per_document_checkbox_merge.rb +2 -4
  108. data/lib/dropbox-sign/models/sub_form_fields_per_document_date_signed.rb +2 -4
  109. data/lib/dropbox-sign/models/sub_form_fields_per_document_dropdown.rb +2 -4
  110. data/lib/dropbox-sign/models/sub_form_fields_per_document_font_enum.rb +8 -4
  111. data/lib/dropbox-sign/models/sub_form_fields_per_document_hyperlink.rb +2 -4
  112. data/lib/dropbox-sign/models/sub_form_fields_per_document_initials.rb +2 -4
  113. data/lib/dropbox-sign/models/sub_form_fields_per_document_radio.rb +2 -4
  114. data/lib/dropbox-sign/models/sub_form_fields_per_document_signature.rb +2 -4
  115. data/lib/dropbox-sign/models/sub_form_fields_per_document_text.rb +2 -4
  116. data/lib/dropbox-sign/models/sub_form_fields_per_document_text_merge.rb +2 -4
  117. data/lib/dropbox-sign/models/sub_form_fields_per_document_type_enum.rb +8 -4
  118. data/lib/dropbox-sign/models/sub_merge_field.rb +2 -4
  119. data/lib/dropbox-sign/models/sub_o_auth.rb +2 -4
  120. data/lib/dropbox-sign/models/sub_options.rb +2 -4
  121. data/lib/dropbox-sign/models/sub_signature_request_grouped_signers.rb +2 -4
  122. data/lib/dropbox-sign/models/sub_signature_request_signer.rb +4 -6
  123. data/lib/dropbox-sign/models/sub_signature_request_template_signer.rb +4 -6
  124. data/lib/dropbox-sign/models/sub_signing_options.rb +2 -4
  125. data/lib/dropbox-sign/models/sub_team_response.rb +2 -4
  126. data/lib/dropbox-sign/models/sub_template_role.rb +2 -4
  127. data/lib/dropbox-sign/models/sub_unclaimed_draft_signer.rb +2 -4
  128. data/lib/dropbox-sign/models/sub_unclaimed_draft_template_signer.rb +2 -4
  129. data/lib/dropbox-sign/models/sub_white_labeling_options.rb +2 -4
  130. data/lib/dropbox-sign/models/team_add_member_request.rb +2 -4
  131. data/lib/dropbox-sign/models/team_create_request.rb +2 -4
  132. data/lib/dropbox-sign/models/team_get_info_response.rb +2 -4
  133. data/lib/dropbox-sign/models/team_get_response.rb +2 -4
  134. data/lib/dropbox-sign/models/team_info_response.rb +2 -4
  135. data/lib/dropbox-sign/models/team_invite_response.rb +2 -4
  136. data/lib/dropbox-sign/models/team_invites_response.rb +2 -4
  137. data/lib/dropbox-sign/models/team_member_response.rb +2 -4
  138. data/lib/dropbox-sign/models/team_members_response.rb +2 -4
  139. data/lib/dropbox-sign/models/team_parent_response.rb +2 -4
  140. data/lib/dropbox-sign/models/team_remove_member_request.rb +2 -4
  141. data/lib/dropbox-sign/models/team_response.rb +2 -4
  142. data/lib/dropbox-sign/models/team_sub_teams_response.rb +2 -4
  143. data/lib/dropbox-sign/models/team_update_request.rb +2 -4
  144. data/lib/dropbox-sign/models/template_add_user_request.rb +2 -4
  145. data/lib/dropbox-sign/models/template_create_embedded_draft_request.rb +4 -6
  146. data/lib/dropbox-sign/models/template_create_embedded_draft_response.rb +2 -4
  147. data/lib/dropbox-sign/models/template_create_embedded_draft_response_template.rb +2 -4
  148. data/lib/dropbox-sign/models/template_create_request.rb +4 -6
  149. data/lib/dropbox-sign/models/template_create_response.rb +2 -4
  150. data/lib/dropbox-sign/models/template_create_response_template.rb +2 -4
  151. data/lib/dropbox-sign/models/template_edit_response.rb +2 -4
  152. data/lib/dropbox-sign/models/template_get_response.rb +2 -4
  153. data/lib/dropbox-sign/models/template_list_response.rb +2 -4
  154. data/lib/dropbox-sign/models/template_remove_user_request.rb +2 -4
  155. data/lib/dropbox-sign/models/template_response.rb +2 -4
  156. data/lib/dropbox-sign/models/template_response_account.rb +2 -4
  157. data/lib/dropbox-sign/models/template_response_account_quota.rb +2 -4
  158. data/lib/dropbox-sign/models/template_response_cc_role.rb +2 -4
  159. data/lib/dropbox-sign/models/template_response_document.rb +2 -4
  160. data/lib/dropbox-sign/models/template_response_document_custom_field_base.rb +2 -4
  161. data/lib/dropbox-sign/models/template_response_document_custom_field_checkbox.rb +2 -4
  162. data/lib/dropbox-sign/models/template_response_document_custom_field_text.rb +2 -4
  163. data/lib/dropbox-sign/models/template_response_document_field_group.rb +2 -4
  164. data/lib/dropbox-sign/models/template_response_document_field_group_rule.rb +2 -4
  165. data/lib/dropbox-sign/models/template_response_document_form_field_base.rb +2 -4
  166. data/lib/dropbox-sign/models/template_response_document_form_field_checkbox.rb +2 -4
  167. data/lib/dropbox-sign/models/template_response_document_form_field_date_signed.rb +2 -4
  168. data/lib/dropbox-sign/models/template_response_document_form_field_dropdown.rb +2 -4
  169. data/lib/dropbox-sign/models/template_response_document_form_field_hyperlink.rb +2 -4
  170. data/lib/dropbox-sign/models/template_response_document_form_field_initials.rb +2 -4
  171. data/lib/dropbox-sign/models/template_response_document_form_field_radio.rb +2 -4
  172. data/lib/dropbox-sign/models/template_response_document_form_field_signature.rb +2 -4
  173. data/lib/dropbox-sign/models/template_response_document_form_field_text.rb +2 -4
  174. data/lib/dropbox-sign/models/template_response_document_static_field_base.rb +2 -4
  175. data/lib/dropbox-sign/models/template_response_document_static_field_checkbox.rb +2 -4
  176. data/lib/dropbox-sign/models/template_response_document_static_field_date_signed.rb +2 -4
  177. data/lib/dropbox-sign/models/template_response_document_static_field_dropdown.rb +2 -4
  178. data/lib/dropbox-sign/models/template_response_document_static_field_hyperlink.rb +2 -4
  179. data/lib/dropbox-sign/models/template_response_document_static_field_initials.rb +2 -4
  180. data/lib/dropbox-sign/models/template_response_document_static_field_radio.rb +2 -4
  181. data/lib/dropbox-sign/models/template_response_document_static_field_signature.rb +2 -4
  182. data/lib/dropbox-sign/models/template_response_document_static_field_text.rb +2 -4
  183. data/lib/dropbox-sign/models/template_response_field_avg_text_length.rb +2 -4
  184. data/lib/dropbox-sign/models/template_response_signer_role.rb +2 -4
  185. data/lib/dropbox-sign/models/template_update_files_request.rb +4 -6
  186. data/lib/dropbox-sign/models/template_update_files_response.rb +2 -4
  187. data/lib/dropbox-sign/models/template_update_files_response_template.rb +2 -4
  188. data/lib/dropbox-sign/models/unclaimed_draft_create_embedded_request.rb +5 -6
  189. data/lib/dropbox-sign/models/unclaimed_draft_create_embedded_with_template_request.rb +5 -7
  190. data/lib/dropbox-sign/models/unclaimed_draft_create_request.rb +5 -6
  191. data/lib/dropbox-sign/models/unclaimed_draft_create_response.rb +2 -4
  192. data/lib/dropbox-sign/models/unclaimed_draft_edit_and_resend_request.rb +2 -4
  193. data/lib/dropbox-sign/models/unclaimed_draft_response.rb +2 -4
  194. data/lib/dropbox-sign/models/warning_response.rb +2 -4
  195. data/lib/dropbox-sign/version.rb +2 -2
  196. data/lib/dropbox-sign.rb +2 -1
  197. data/openapi-config.yaml +1 -1
  198. data/openapi-sdk.yaml +84 -69
  199. data/run-build +1 -1
  200. data/spec/api_client_spec.rb +3 -1
  201. data/spec/configuration_spec.rb +1 -1
  202. data/spec/spec_helper.rb +1 -1
  203. data/templates/README.mustache +1 -0
  204. data/templates/api.mustache +58 -12
  205. data/templates/api_client.mustache +16 -35
  206. data/templates/api_client_faraday_partial.mustache +102 -44
  207. data/templates/api_client_httpx_partial.mustache +134 -0
  208. data/templates/api_client_typhoeus_partial.mustache +23 -15
  209. data/templates/api_doc.mustache +1 -1
  210. data/templates/api_error.mustache +1 -0
  211. data/templates/api_info.mustache +1 -1
  212. data/templates/api_test.mustache +1 -1
  213. data/templates/base_object.mustache +1 -3
  214. data/templates/configuration.mustache +139 -33
  215. data/templates/configuration_faraday_partial.mustache +40 -0
  216. data/templates/configuration_httpx_partial.mustache +11 -0
  217. data/templates/configuration_typhoeus_partial.mustache +41 -0
  218. data/templates/gem.mustache +14 -0
  219. data/templates/gemspec.mustache +10 -4
  220. data/templates/model_test.mustache +3 -2
  221. data/templates/partial_model_enum_class.mustache +7 -4
  222. data/templates/partial_model_generic.mustache +7 -7
  223. data/templates/partial_oneof_module.mustache +4 -4
  224. data/templates/partial_oneof_module_doc.mustache +1 -0
  225. data/templates/travis.mustache +1 -4
  226. metadata +13 -7
@@ -57,6 +57,16 @@ module {{moduleName}}
57
57
  # Defines the access token (Bearer) used with OAuth2.
58
58
  attr_accessor :access_token
59
59
 
60
+ # Defines a Proc used to fetch or refresh access tokens (Bearer) used with OAuth2.
61
+ # Overrides the access_token if set
62
+ # @return [Proc]
63
+ attr_accessor :access_token_getter
64
+
65
+ # Set this to return data as binary instead of downloading a temp file. When enabled (set to true)
66
+ # HTTP responses with return type `File` will be returned as a stream of binary data.
67
+ # Default to false.
68
+ attr_accessor :return_binary_data
69
+
60
70
  # Set this to enable/disable debugging. When enabled (set to true), HTTP request/response
61
71
  # details will be logged with `logger.debug` (see the `logger` attribute).
62
72
  # Default to false.
@@ -64,6 +74,14 @@ module {{moduleName}}
64
74
  # @return [true, false]
65
75
  attr_accessor :debugging
66
76
 
77
+ # Set this to ignore operation servers for the API client. This is useful when you need to
78
+ # send requests to a different server than the one specified in the OpenAPI document.
79
+ # Will default to the base url defined in the spec but can be overridden by setting
80
+ # `scheme`, `host`, `base_path` directly.
81
+ # Default to false.
82
+ # @return [true, false]
83
+ attr_accessor :ignore_operation_servers
84
+
67
85
  # Defines the logger used for debugging.
68
86
  # Default to `Rails.logger` (when in Rails) or logging to STDOUT.
69
87
  #
@@ -86,18 +104,15 @@ module {{moduleName}}
86
104
  # @return [true, false]
87
105
  attr_accessor :client_side_validation
88
106
 
89
- {{^isFaraday}}
90
- {{> configuration_tls_typhoeus_partial}}
91
- {{/isFaraday}}
107
+ {{#isTyphoeus}}
108
+ {{> configuration_typhoeus_partial}}
109
+ {{/isTyphoeus}}
92
110
  {{#isFaraday}}
93
- {{> configuration_tls_faraday_partial}}
111
+ {{> configuration_faraday_partial}}
94
112
  {{/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
113
+ {{#isHttpx}}
114
+ {{> configuration_httpx_partial}}
115
+ {{/isHttpx}}
101
116
 
102
117
  attr_accessor :inject_format
103
118
 
@@ -107,7 +122,7 @@ module {{moduleName}}
107
122
  @scheme = '{{scheme}}'
108
123
  @host = '{{host}}{{#port}}:{{{.}}}{{/port}}'
109
124
  @base_path = '{{contextPath}}'
110
- @server_index = 0
125
+ @server_index = nil
111
126
  @server_operation_index = {}
112
127
  @server_variables = {}
113
128
  @server_operation_variables = {}
@@ -120,20 +135,29 @@ module {{moduleName}}
120
135
  @ssl_ca_file = nil
121
136
  @ssl_client_cert = nil
122
137
  @ssl_client_key = nil
123
- @middlewares = []
124
- @request_middlewares = []
125
- @response_middlewares = []
138
+ @middlewares = Hash.new { |h, k| h[k] = [] }
139
+ @configure_connection_blocks = []
126
140
  @timeout = 60
141
+ # return data as binary instead of file
142
+ @return_binary_data = false
143
+ @params_encoder = nil
127
144
  {{/isFaraday}}
128
- {{^isFaraday}}
145
+ {{#isTyphoeus}}
129
146
  @verify_ssl = true
130
147
  @verify_ssl_host = true
131
- @params_encoding = nil
132
148
  @cert_file = nil
133
149
  @key_file = nil
134
150
  @timeout = 0
135
- {{/isFaraday}}
151
+ @params_encoding = nil
152
+ {{/isTyphoeus}}
153
+ {{#isHttpx}}
154
+ @ssl = nil
155
+ @proxy = nil
156
+ @timeout = 60
157
+ @configure_session_blocks = []
158
+ {{/isHttpx}}
136
159
  @debugging = false
160
+ @ignore_operation_servers = false
137
161
  @inject_format = false
138
162
  @force_ending_format = false
139
163
  @logger = defined?(Rails) ? Rails.logger : Logger.new(STDOUT)
@@ -168,10 +192,13 @@ module {{moduleName}}
168
192
 
169
193
  # Returns base URL for specified operation based on server settings
170
194
  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])
195
+ return "#{scheme}://#{[host, base_path].join('/').gsub(/\/+/, '/')}".sub(/\/+\z/, '') if ignore_operation_servers
196
+ if operation_server_settings.key?(operation) then
197
+ index = server_operation_index.fetch(operation, server_index)
198
+ server_url(index.nil? ? 0 : index, server_operation_variables.fetch(operation, server_variables), operation_server_settings[operation])
199
+ else
200
+ server_index.nil? ? "#{scheme}://#{[host, base_path].join('/').gsub(/\/+/, '/')}".sub(/\/+\z/, '') : server_url(server_index, server_variables, nil)
201
+ end
175
202
  end
176
203
 
177
204
  # Gets API key (with prefix if set).
@@ -186,6 +213,12 @@ module {{moduleName}}
186
213
  end
187
214
  end
188
215
 
216
+ # Gets access_token using access_token_getter or uses the static access_token
217
+ def access_token_with_refresh
218
+ return access_token if access_token_getter.nil?
219
+ access_token_getter.call
220
+ end
221
+
189
222
  # Gets Basic Auth token string
190
223
  def basic_auth_token
191
224
  'Basic ' + ["#{username}:#{password}"].pack('m').delete("\r\n")
@@ -311,8 +344,8 @@ module {{moduleName}}
311
344
  servers = server_settings if servers == nil
312
345
 
313
346
  # 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}"
347
+ if (index.nil? || index < 0 || index >= servers.size)
348
+ fail ArgumentError, "Invalid index #{index} when selecting the server. Must not be nil and must be less than #{servers.size}"
316
349
  end
317
350
 
318
351
  server = servers[index]
@@ -338,35 +371,108 @@ module {{moduleName}}
338
371
  end
339
372
 
340
373
  {{#isFaraday}}
374
+ # Configure Faraday connection directly.
375
+ #
376
+ # ```
377
+ # c.configure_faraday_connection do |conn|
378
+ # conn.use Faraday::HttpCache, shared_cache: false, logger: logger
379
+ # conn.response :logger, nil, headers: true, bodies: true, log_level: :debug do |logger|
380
+ # logger.filter(/(Authorization: )(.*)/, '\1[REDACTED]')
381
+ # end
382
+ # end
383
+ #
384
+ # c.configure_faraday_connection do |conn|
385
+ # conn.adapter :typhoeus
386
+ # end
387
+ # ```
388
+ #
389
+ # @param block [Proc] `#call`able object that takes one arg, the connection
390
+ def configure_faraday_connection(&block)
391
+ @configure_connection_blocks << block
392
+ end
393
+
394
+ def configure_connection(conn)
395
+ @configure_connection_blocks.each do |block|
396
+ block.call(conn)
397
+ end
398
+ end
399
+
341
400
  # Adds middleware to the stack
342
401
  def use(*middleware)
343
- @middlewares << middleware
402
+ set_faraday_middleware(:use, *middleware)
344
403
  end
345
404
 
346
405
  # Adds request middleware to the stack
347
406
  def request(*middleware)
348
- @request_middlewares << middleware
407
+ set_faraday_middleware(:request, *middleware)
349
408
  end
350
409
 
351
410
  # Adds response middleware to the stack
352
411
  def response(*middleware)
353
- @response_middlewares << middleware
412
+ set_faraday_middleware(:response, *middleware)
354
413
  end
355
414
 
415
+ # Adds Faraday middleware setting information to the stack
416
+ #
417
+ # @example Use the `set_faraday_middleware` method to set middleware information
418
+ # config.set_faraday_middleware(:request, :retry, max: 3, methods: [:get, :post], retry_statuses: [503])
419
+ # config.set_faraday_middleware(:response, :logger, nil, { bodies: true, log_level: :debug })
420
+ # config.set_faraday_middleware(:use, Faraday::HttpCache, store: Rails.cache, shared_cache: false)
421
+ # config.set_faraday_middleware(:insert, 0, FaradayMiddleware::FollowRedirects, { standards_compliant: true, limit: 1 })
422
+ # config.set_faraday_middleware(:swap, 0, Faraday::Response::Logger)
423
+ # config.set_faraday_middleware(:delete, Faraday::Multipart::Middleware)
424
+ #
425
+ # @see https://github.com/lostisland/faraday/blob/v2.3.0/lib/faraday/rack_builder.rb#L92-L143
426
+ def set_faraday_middleware(operation, key, *args, &block)
427
+ unless [:request, :response, :use, :insert, :insert_before, :insert_after, :swap, :delete].include?(operation)
428
+ fail ArgumentError, "Invalid faraday middleware operation #{operation}. Must be" \
429
+ " :request, :response, :use, :insert, :insert_before, :insert_after, :swap or :delete."
430
+ end
431
+
432
+ @middlewares[operation] << [key, args, block]
433
+ end
434
+ ruby2_keywords(:set_faraday_middleware) if respond_to?(:ruby2_keywords, true)
435
+
356
436
  # Set up middleware on the connection
357
437
  def configure_middleware(connection)
358
- @middlewares.each do |middleware|
359
- connection.use(*middleware)
360
- end
438
+ return if @middlewares.empty?
439
+
440
+ [:request, :response, :use, :insert, :insert_before, :insert_after, :swap].each do |operation|
441
+ next unless @middlewares.key?(operation)
361
442
 
362
- @request_middlewares.each do |middleware|
363
- connection.request(*middleware)
443
+ @middlewares[operation].each do |key, args, block|
444
+ connection.builder.send(operation, key, *args, &block)
445
+ end
364
446
  end
365
447
 
366
- @response_middlewares.each do |middleware|
367
- connection.response(*middleware)
448
+ if @middlewares.key?(:delete)
449
+ @middlewares[:delete].each do |key, _args, _block|
450
+ connection.builder.delete(key)
451
+ end
368
452
  end
369
453
  end
370
454
  {{/isFaraday}}
455
+
456
+ {{#isHttpx}}
457
+ # Configure Httpx session directly.
458
+ #
459
+ # ```
460
+ # c.configure_session do |http|
461
+ # http.plugin(:follow_redirects).with(debug: STDOUT, debug_level: 1)
462
+ # end
463
+ # ```
464
+ #
465
+ # @param block [Proc] `#call`able object that takes one arg, the connection
466
+ def configure_session(&block)
467
+ @configure_session_blocks << block
468
+ end
469
+
470
+
471
+ def configure(session)
472
+ @configure_session_blocks.reduce(session) do |configured_sess, block|
473
+ block.call(configured_sess)
474
+ end
475
+ end
476
+ {{/isHttpx}}
371
477
  end
372
478
  end
@@ -0,0 +1,40 @@
1
+ ### TLS/SSL setting
2
+ # Set this to false to skip verifying SSL certificate when calling API from https server.
3
+ # Default to true.
4
+ #
5
+ # @note Do NOT set it to false in production code, otherwise you would face multiple types of cryptographic attacks.
6
+ #
7
+ # @return [true, false]
8
+ attr_accessor :ssl_verify
9
+
10
+ ### TLS/SSL setting
11
+ # Any `OpenSSL::SSL::` constant (see https://ruby-doc.org/stdlib-2.5.1/libdoc/openssl/rdoc/OpenSSL/SSL.html)
12
+ #
13
+ # @note Do NOT set it to false in production code, otherwise you would face multiple types of cryptographic attacks.
14
+ #
15
+ attr_accessor :ssl_verify_mode
16
+
17
+ ### TLS/SSL setting
18
+ # Set this to customize the certificate file to verify the peer.
19
+ #
20
+ # @return [String] the path to the certificate file
21
+ attr_accessor :ssl_ca_file
22
+
23
+ ### TLS/SSL setting
24
+ # Client certificate file (for client certificate)
25
+ attr_accessor :ssl_client_cert
26
+
27
+ ### TLS/SSL setting
28
+ # Client private key file (for client certificate)
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
@@ -0,0 +1,41 @@
1
+ ### TLS/SSL setting
2
+ # Set this to false to skip verifying SSL certificate when calling API from https server.
3
+ # Default to true.
4
+ #
5
+ # @note Do NOT set it to false in production code, otherwise you would face multiple types of cryptographic attacks.
6
+ #
7
+ # @return [true, false]
8
+ attr_accessor :verify_ssl
9
+
10
+ ### TLS/SSL setting
11
+ # Set this to false to skip verifying SSL host name
12
+ # Default to true.
13
+ #
14
+ # @note Do NOT set it to false in production code, otherwise you would face multiple types of cryptographic attacks.
15
+ #
16
+ # @return [true, false]
17
+ attr_accessor :verify_ssl_host
18
+
19
+ ### TLS/SSL setting
20
+ # Set this to customize the certificate file to verify the peer.
21
+ #
22
+ # @return [String] the path to the certificate file
23
+ #
24
+ # @see The `cainfo` option of Typhoeus, `--cert` option of libcurl. Related source code:
25
+ # https://github.com/typhoeus/typhoeus/blob/master/lib/typhoeus/easy_factory.rb#L145
26
+ attr_accessor :ssl_ca_cert
27
+
28
+ ### TLS/SSL setting
29
+ # Client certificate file (for client certificate)
30
+ attr_accessor :cert_file
31
+
32
+ ### TLS/SSL setting
33
+ # Client private key file (for client certificate)
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,11 +24,24 @@ 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
 
@@ -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
 
@@ -24,14 +24,14 @@ describe {{moduleName}}::{{classname}} do
24
24
  describe 'test attribute "{{{name}}}"' do
25
25
  it 'should work' do
26
26
  {{#isEnum}}
27
- # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
27
+ # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
28
28
  # validator = Petstore::EnumTest::EnumAttributeValidator.new('{{{dataType}}}', [{{#allowableValues}}{{#enumVars}}{{{value}}}{{^-last}}, {{/-last}}{{/enumVars}}{{/allowableValues}}])
29
29
  # validator.allowable_values.each do |value|
30
30
  # expect { instance.{{name}} = value }.not_to raise_error
31
31
  # end
32
32
  {{/isEnum}}
33
33
  {{^isEnum}}
34
- # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
34
+ # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
35
35
  {{/isEnum}}
36
36
  end
37
37
  end
@@ -68,6 +68,7 @@ describe {{moduleName}}::{{classname}} do
68
68
  {{/discriminator}}
69
69
  describe '.build' do
70
70
  it 'returns the correct model' do
71
+ # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
71
72
  end
72
73
  end
73
74
  {{/-first}}
@@ -2,6 +2,10 @@
2
2
  {{{name}}} = {{{value}}}.freeze{{/enumVars}}
3
3
 
4
4
  {{/allowableValues}}
5
+ def self.all_vars
6
+ @all_vars ||= [{{#allowableValues}}{{#enumVars}}{{{name}}}{{^-last}}, {{/-last}}{{/enumVars}}{{/allowableValues}}].freeze
7
+ end
8
+
5
9
  # Builds the enum from string
6
10
  # @param [String] The enum value in the form of the string
7
11
  # @return [String] The enum value
@@ -13,8 +17,7 @@
13
17
  # @param [String] The enum value in the form of the string
14
18
  # @return [String] The enum value
15
19
  def build_from_hash(value)
16
- constantValues = {{classname}}.constants.select { |c| {{classname}}::const_get(c) == value }
17
- raise "Invalid ENUM value #{value} for class #{{{classname}}}" if constantValues.empty?
18
- value
20
+ return value if {{classname}}.all_vars.include?(value)
21
+ raise "Invalid ENUM value #{value} for class #{{{classname}}}"
19
22
  end
20
- end
23
+ end
@@ -343,44 +343,44 @@
343
343
  {{/required}}
344
344
  {{/isNullable}}
345
345
  {{#maxLength}}
346
- if {{^required}}!{{{name}}}.nil? && {{/required}}{{{name}}}.to_s.length > {{{maxLength}}}
346
+ if {{#isNullable}}!{{{name}}}.nil? && {{/isNullable}}{{{name}}}.to_s.length > {{{maxLength}}}
347
347
  fail ArgumentError, 'invalid value for "{{{name}}}", the character length must be smaller than or equal to {{{maxLength}}}.'
348
348
  end
349
349
 
350
350
  {{/maxLength}}
351
351
  {{#minLength}}
352
- if {{^required}}!{{{name}}}.nil? && {{/required}}{{{name}}}.to_s.length < {{{minLength}}}
352
+ if {{#isNullable}}!{{{name}}}.nil? && {{/isNullable}}{{{name}}}.to_s.length < {{{minLength}}}
353
353
  fail ArgumentError, 'invalid value for "{{{name}}}", the character length must be great than or equal to {{{minLength}}}.'
354
354
  end
355
355
 
356
356
  {{/minLength}}
357
357
  {{#maximum}}
358
- if {{^required}}!{{{name}}}.nil? && {{/required}}{{{name}}} >{{#exclusiveMaximum}}={{/exclusiveMaximum}} {{{maximum}}}
358
+ if {{#isNullable}}!{{{name}}}.nil? && {{/isNullable}}{{{name}}} >{{#exclusiveMaximum}}={{/exclusiveMaximum}} {{{maximum}}}
359
359
  fail ArgumentError, 'invalid value for "{{{name}}}", must be smaller than {{^exclusiveMaximum}}or equal to {{/exclusiveMaximum}}{{{maximum}}}.'
360
360
  end
361
361
 
362
362
  {{/maximum}}
363
363
  {{#minimum}}
364
- if {{^required}}!{{{name}}}.nil? && {{/required}}{{{name}}} <{{#exclusiveMinimum}}={{/exclusiveMinimum}} {{{minimum}}}
364
+ if {{#isNullable}}!{{{name}}}.nil? && {{/isNullable}}{{{name}}} <{{#exclusiveMinimum}}={{/exclusiveMinimum}} {{{minimum}}}
365
365
  fail ArgumentError, 'invalid value for "{{{name}}}", must be greater than {{^exclusiveMinimum}}or equal to {{/exclusiveMinimum}}{{{minimum}}}.'
366
366
  end
367
367
 
368
368
  {{/minimum}}
369
369
  {{#pattern}}
370
370
  pattern = Regexp.new({{{pattern}}})
371
- if {{^required}}!{{{name}}}.nil? && {{/required}}{{{name}}} !~ pattern
371
+ if {{#isNullable}}!{{{name}}}.nil? && {{/isNullable}}{{{name}}} !~ pattern
372
372
  fail ArgumentError, "invalid value for \"{{{name}}}\", must conform to the pattern #{pattern}."
373
373
  end
374
374
 
375
375
  {{/pattern}}
376
376
  {{#maxItems}}
377
- if {{^required}}!{{{name}}}.nil? && {{/required}}{{{name}}}.length > {{{maxItems}}}
377
+ if {{#isNullable}}!{{{name}}}.nil? && {{/isNullable}}{{{name}}}.length > {{{maxItems}}}
378
378
  fail ArgumentError, 'invalid value for "{{{name}}}", number of items must be less than or equal to {{{maxItems}}}.'
379
379
  end
380
380
 
381
381
  {{/maxItems}}
382
382
  {{#minItems}}
383
- if {{^required}}!{{{name}}}.nil? && {{/required}}{{{name}}}.length < {{{minItems}}}
383
+ if {{#isNullable}}!{{{name}}}.nil? && {{/isNullable}}{{{name}}}.length < {{{minItems}}}
384
384
  fail ArgumentError, 'invalid value for "{{{name}}}", number of items must be greater than or equal to {{{minItems}}}.'
385
385
  end
386
386
 
@@ -44,11 +44,11 @@
44
44
  def build(data)
45
45
  {{#discriminator}}
46
46
  discriminator_value = data[openapi_discriminator_name]
47
- return nil unless discriminator_value
47
+ return nil if discriminator_value.nil?
48
48
  {{#mappedModels}}
49
49
  {{#-first}}
50
50
 
51
- klass = openapi_discriminator_mapping[discriminator_value.to_sym]
51
+ klass = openapi_discriminator_mapping[discriminator_value.to_s.to_sym]
52
52
  return nil unless klass
53
53
 
54
54
  {{moduleName}}.const_get(klass).build_from_hash(data)
@@ -121,9 +121,9 @@
121
121
  return model if model
122
122
  else
123
123
  # raise if data contains keys that are not known to the model
124
- raise unless (data.keys - const.acceptable_attributes).empty?
124
+ raise if const.respond_to?(:acceptable_attributes) && !(data.keys - const.acceptable_attributes).empty?
125
125
  model = const.build_from_hash(data)
126
- return model if model && model.valid?
126
+ return model if model
127
127
  end
128
128
  end
129
129
  end
@@ -60,6 +60,7 @@ require '{{{gemName}}}'
60
60
  # }
61
61
  {{/-last}}
62
62
  {{/mappedModels}}
63
+ ```
63
64
  {{/discriminator}}
64
65
 
65
66
  ### build
@@ -1,12 +1,9 @@
1
1
  language: ruby
2
2
  cache: bundler
3
3
  rvm:
4
- - 2.3
5
- - 2.4
6
- - 2.5
7
- - 2.6
8
4
  - 2.7
9
5
  - 3.0
6
+ - 3.1
10
7
  script:
11
8
  - bundle install --path vendor/bundle
12
9
  - bundle exec rspec
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dropbox-sign
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.4.1
4
+ version: 1.5.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Dropbox
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-06-26 00:00:00.000000000 Z
11
+ date: 2024-08-22 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: typhoeus
@@ -78,6 +78,7 @@ files:
78
78
  - docs/AccountGetResponse.md
79
79
  - docs/AccountResponse.md
80
80
  - docs/AccountResponseQuotas.md
81
+ - docs/AccountResponseUsage.md
81
82
  - docs/AccountUpdateRequest.md
82
83
  - docs/AccountVerifyRequest.md
83
84
  - docs/AccountVerifyResponse.md
@@ -336,6 +337,7 @@ files:
336
337
  - lib/dropbox-sign/models/account_get_response.rb
337
338
  - lib/dropbox-sign/models/account_response.rb
338
339
  - lib/dropbox-sign/models/account_response_quotas.rb
340
+ - lib/dropbox-sign/models/account_response_usage.rb
339
341
  - lib/dropbox-sign/models/account_update_request.rb
340
342
  - lib/dropbox-sign/models/account_verify_request.rb
341
343
  - lib/dropbox-sign/models/account_verify_response.rb
@@ -530,6 +532,7 @@ files:
530
532
  - templates/api.mustache
531
533
  - templates/api_client.mustache
532
534
  - templates/api_client_faraday_partial.mustache
535
+ - templates/api_client_httpx_partial.mustache
533
536
  - templates/api_client_spec.mustache
534
537
  - templates/api_client_typhoeus_partial.mustache
535
538
  - templates/api_doc.mustache
@@ -538,9 +541,12 @@ files:
538
541
  - templates/api_test.mustache
539
542
  - templates/base_object.mustache
540
543
  - templates/configuration.mustache
544
+ - templates/configuration_faraday_partial.mustache
545
+ - templates/configuration_httpx_partial.mustache
541
546
  - templates/configuration_spec.mustache
542
547
  - templates/configuration_tls_faraday_partial.mustache
543
548
  - templates/configuration_tls_typhoeus_partial.mustache
549
+ - templates/configuration_typhoeus_partial.mustache
544
550
  - templates/event_callback_helper.mustache
545
551
  - templates/gem.mustache
546
552
  - templates/gemspec.mustache
@@ -642,16 +648,16 @@ signing_key:
642
648
  specification_version: 4
643
649
  summary: Dropbox Sign API Ruby Gem
644
650
  test_files:
645
- - spec/api/unclaimed_draft_api_spec.rb
651
+ - spec/api/template_api_spec.rb
652
+ - spec/api/account_api_spec.rb
646
653
  - spec/api/embedded_api_spec.rb
647
654
  - spec/api/team_api_spec.rb
655
+ - spec/api/unclaimed_draft_api_spec.rb
648
656
  - spec/api/bulk_send_job_api_spec.rb
649
- - spec/api/oauth_api_spec.rb
650
- - spec/api/account_api_spec.rb
651
657
  - spec/api/signature_request_api_spec.rb
652
- - spec/api/report_api_spec.rb
653
- - spec/api/template_api_spec.rb
658
+ - spec/api/oauth_api_spec.rb
654
659
  - spec/api/api_app_api_spec.rb
660
+ - spec/api/report_api_spec.rb
655
661
  - spec/api_client_spec.rb
656
662
  - spec/configuration_spec.rb
657
663
  - spec/event_callback_helper_spec.rb