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.
- checksums.yaml +4 -4
- data/Gemfile.lock +26 -24
- data/README.md +25 -4
- data/VERSION +1 -1
- data/docs/AccountCreateResponse.md +1 -1
- data/docs/AccountGetResponse.md +1 -1
- data/docs/AccountResponse.md +1 -0
- data/docs/AccountResponseQuotas.md +1 -0
- data/docs/AccountResponseUsage.md +10 -0
- data/docs/ApiAppGetResponse.md +1 -1
- data/docs/ApiAppListResponse.md +2 -2
- data/docs/BulkSendJobGetResponse.md +3 -3
- data/docs/BulkSendJobListResponse.md +2 -2
- data/docs/BulkSendJobSendResponse.md +1 -1
- data/docs/EmbeddedEditUrlResponse.md +1 -1
- data/docs/EmbeddedSignUrlResponse.md +1 -1
- data/docs/FaxLineAddUserRequest.md +12 -0
- data/docs/FaxLineApi.md +503 -0
- data/docs/FaxLineAreaCodeGetCountryEnum.md +9 -0
- data/docs/FaxLineAreaCodeGetProvinceEnum.md +9 -0
- data/docs/FaxLineAreaCodeGetResponse.md +10 -0
- data/docs/FaxLineAreaCodeGetStateEnum.md +9 -0
- data/docs/FaxLineCreateRequest.md +13 -0
- data/docs/FaxLineDeleteRequest.md +10 -0
- data/docs/FaxLineListResponse.md +12 -0
- data/docs/FaxLineRemoveUserRequest.md +12 -0
- data/docs/FaxLineResponse.md +11 -0
- data/docs/FaxLineResponseFaxLine.md +13 -0
- data/docs/FileResponse.md +2 -2
- data/docs/FileResponseDataUri.md +1 -1
- data/docs/ReportCreateResponse.md +1 -1
- data/docs/SignatureRequestGetResponse.md +1 -1
- data/docs/SignatureRequestListResponse.md +2 -2
- data/docs/TeamGetInfoResponse.md +1 -1
- data/docs/TeamGetResponse.md +1 -1
- data/docs/TeamInvitesResponse.md +1 -1
- data/docs/TeamMembersResponse.md +2 -2
- data/docs/TeamSubTeamsResponse.md +2 -2
- data/docs/TemplateCreateEmbeddedDraftResponse.md +1 -1
- data/docs/TemplateCreateResponse.md +1 -1
- data/docs/TemplateEditResponse.md +1 -1
- data/docs/TemplateGetResponse.md +1 -1
- data/docs/TemplateListResponse.md +2 -2
- data/docs/TemplateUpdateFilesResponse.md +1 -1
- data/docs/UnclaimedDraftCreateResponse.md +1 -1
- data/dropbox-sign.gemspec +2 -1
- data/examples/FaxLineAddUser.rb +19 -0
- data/examples/FaxLineAreaCodeGet.rb +15 -0
- data/examples/FaxLineCreate.rb +19 -0
- data/examples/FaxLineDelete.rb +17 -0
- data/examples/FaxLineGet.rb +15 -0
- data/examples/FaxLineList.rb +15 -0
- data/examples/FaxLineRemoveUser.rb +19 -0
- data/lib/dropbox-sign/api/account_api.rb +5 -5
- data/lib/dropbox-sign/api/api_app_api.rb +8 -8
- data/lib/dropbox-sign/api/bulk_send_job_api.rb +7 -7
- data/lib/dropbox-sign/api/embedded_api.rb +3 -3
- data/lib/dropbox-sign/api/fax_line_api.rb +746 -0
- data/lib/dropbox-sign/api/o_auth_api.rb +3 -3
- data/lib/dropbox-sign/api/report_api.rb +2 -2
- data/lib/dropbox-sign/api/signature_request_api.rb +21 -21
- data/lib/dropbox-sign/api/team_api.rb +15 -15
- data/lib/dropbox-sign/api/template_api.rb +15 -15
- data/lib/dropbox-sign/api/unclaimed_draft_api.rb +5 -5
- data/lib/dropbox-sign/api_client.rb +27 -25
- data/lib/dropbox-sign/api_error.rb +6 -2
- data/lib/dropbox-sign/configuration.rb +39 -9
- data/lib/dropbox-sign/event_callback_helper.rb +1 -1
- data/lib/dropbox-sign/models/account_create_request.rb +12 -15
- data/lib/dropbox-sign/models/account_create_response.rb +17 -15
- data/lib/dropbox-sign/models/account_get_response.rb +17 -15
- data/lib/dropbox-sign/models/account_response.rb +27 -20
- data/lib/dropbox-sign/models/account_response_quotas.rb +29 -20
- data/lib/dropbox-sign/models/account_response_usage.rb +250 -0
- data/lib/dropbox-sign/models/account_update_request.rb +12 -15
- data/lib/dropbox-sign/models/account_verify_request.rb +12 -15
- data/lib/dropbox-sign/models/account_verify_response.rb +12 -15
- data/lib/dropbox-sign/models/account_verify_response_account.rb +12 -15
- data/lib/dropbox-sign/models/api_app_create_request.rb +12 -16
- data/lib/dropbox-sign/models/api_app_get_response.rb +17 -15
- data/lib/dropbox-sign/models/api_app_list_response.rb +22 -15
- data/lib/dropbox-sign/models/api_app_response.rb +12 -15
- data/lib/dropbox-sign/models/api_app_response_o_auth.rb +12 -15
- data/lib/dropbox-sign/models/api_app_response_options.rb +12 -15
- data/lib/dropbox-sign/models/api_app_response_owner_account.rb +12 -15
- data/lib/dropbox-sign/models/api_app_response_white_labeling_options.rb +12 -15
- data/lib/dropbox-sign/models/api_app_update_request.rb +13 -16
- data/lib/dropbox-sign/models/bulk_send_job_get_response.rb +27 -15
- data/lib/dropbox-sign/models/bulk_send_job_get_response_signature_requests.rb +12 -15
- data/lib/dropbox-sign/models/bulk_send_job_list_response.rb +22 -15
- data/lib/dropbox-sign/models/bulk_send_job_response.rb +12 -15
- data/lib/dropbox-sign/models/bulk_send_job_send_response.rb +17 -15
- data/lib/dropbox-sign/models/embedded_edit_url_request.rb +12 -15
- data/lib/dropbox-sign/models/embedded_edit_url_response.rb +17 -15
- data/lib/dropbox-sign/models/embedded_edit_url_response_embedded.rb +12 -15
- data/lib/dropbox-sign/models/embedded_sign_url_response.rb +17 -15
- data/lib/dropbox-sign/models/embedded_sign_url_response_embedded.rb +12 -15
- data/lib/dropbox-sign/models/error_response.rb +12 -15
- data/lib/dropbox-sign/models/error_response_error.rb +12 -15
- data/lib/dropbox-sign/models/event_callback_request.rb +12 -15
- data/lib/dropbox-sign/models/event_callback_request_event.rb +12 -15
- data/lib/dropbox-sign/models/event_callback_request_event_metadata.rb +12 -15
- data/lib/dropbox-sign/models/fax_line_add_user_request.rb +275 -0
- data/lib/dropbox-sign/models/fax_line_area_code_get_country_enum.rb +44 -0
- data/lib/dropbox-sign/models/fax_line_area_code_get_province_enum.rb +54 -0
- data/lib/dropbox-sign/models/fax_line_area_code_get_response.rb +254 -0
- data/lib/dropbox-sign/models/fax_line_area_code_get_state_enum.rb +92 -0
- data/lib/dropbox-sign/models/fax_line_create_request.rb +325 -0
- data/lib/dropbox-sign/models/fax_line_delete_request.rb +253 -0
- data/lib/dropbox-sign/models/fax_line_list_response.rb +279 -0
- data/lib/dropbox-sign/models/fax_line_remove_user_request.rb +275 -0
- data/lib/dropbox-sign/models/fax_line_response.rb +262 -0
- data/lib/dropbox-sign/models/fax_line_response_fax_line.rb +282 -0
- data/lib/dropbox-sign/models/file_response.rb +22 -15
- data/lib/dropbox-sign/models/file_response_data_uri.rb +17 -15
- data/lib/dropbox-sign/models/list_info_response.rb +12 -15
- data/lib/dropbox-sign/models/o_auth_token_generate_request.rb +12 -15
- data/lib/dropbox-sign/models/o_auth_token_refresh_request.rb +12 -15
- data/lib/dropbox-sign/models/o_auth_token_response.rb +12 -15
- data/lib/dropbox-sign/models/report_create_request.rb +12 -15
- data/lib/dropbox-sign/models/report_create_response.rb +17 -15
- data/lib/dropbox-sign/models/report_response.rb +12 -15
- data/lib/dropbox-sign/models/signature_request_bulk_create_embedded_with_template_request.rb +15 -18
- data/lib/dropbox-sign/models/signature_request_bulk_send_with_template_request.rb +15 -18
- data/lib/dropbox-sign/models/signature_request_create_embedded_request.rb +15 -18
- data/lib/dropbox-sign/models/signature_request_create_embedded_with_template_request.rb +15 -18
- data/lib/dropbox-sign/models/signature_request_get_response.rb +17 -15
- data/lib/dropbox-sign/models/signature_request_list_response.rb +22 -15
- data/lib/dropbox-sign/models/signature_request_remind_request.rb +12 -15
- data/lib/dropbox-sign/models/signature_request_response.rb +12 -15
- data/lib/dropbox-sign/models/signature_request_response_attachment.rb +13 -16
- data/lib/dropbox-sign/models/signature_request_response_custom_field_base.rb +12 -15
- data/lib/dropbox-sign/models/signature_request_response_custom_field_checkbox.rb +12 -15
- data/lib/dropbox-sign/models/signature_request_response_custom_field_text.rb +12 -15
- data/lib/dropbox-sign/models/signature_request_response_custom_field_type_enum.rb +7 -4
- data/lib/dropbox-sign/models/signature_request_response_data_base.rb +12 -15
- data/lib/dropbox-sign/models/signature_request_response_data_type_enum.rb +7 -4
- data/lib/dropbox-sign/models/signature_request_response_data_value_checkbox.rb +12 -15
- data/lib/dropbox-sign/models/signature_request_response_data_value_checkbox_merge.rb +12 -15
- data/lib/dropbox-sign/models/signature_request_response_data_value_date_signed.rb +12 -15
- data/lib/dropbox-sign/models/signature_request_response_data_value_dropdown.rb +12 -15
- data/lib/dropbox-sign/models/signature_request_response_data_value_initials.rb +12 -15
- data/lib/dropbox-sign/models/signature_request_response_data_value_radio.rb +12 -15
- data/lib/dropbox-sign/models/signature_request_response_data_value_signature.rb +12 -15
- data/lib/dropbox-sign/models/signature_request_response_data_value_text.rb +12 -15
- data/lib/dropbox-sign/models/signature_request_response_data_value_text_merge.rb +12 -15
- data/lib/dropbox-sign/models/signature_request_response_signatures.rb +12 -15
- data/lib/dropbox-sign/models/signature_request_send_request.rb +15 -18
- data/lib/dropbox-sign/models/signature_request_send_with_template_request.rb +16 -18
- data/lib/dropbox-sign/models/signature_request_update_request.rb +12 -15
- data/lib/dropbox-sign/models/sub_attachment.rb +12 -15
- data/lib/dropbox-sign/models/sub_bulk_signer_list.rb +12 -15
- data/lib/dropbox-sign/models/sub_bulk_signer_list_custom_field.rb +12 -15
- data/lib/dropbox-sign/models/sub_cc.rb +12 -15
- data/lib/dropbox-sign/models/sub_custom_field.rb +12 -15
- data/lib/dropbox-sign/models/sub_editor_options.rb +12 -15
- data/lib/dropbox-sign/models/sub_field_options.rb +12 -15
- data/lib/dropbox-sign/models/sub_form_field_group.rb +12 -15
- data/lib/dropbox-sign/models/sub_form_field_rule.rb +12 -17
- data/lib/dropbox-sign/models/sub_form_field_rule_action.rb +12 -15
- data/lib/dropbox-sign/models/sub_form_field_rule_trigger.rb +12 -15
- data/lib/dropbox-sign/models/sub_form_fields_per_document_base.rb +12 -15
- data/lib/dropbox-sign/models/sub_form_fields_per_document_checkbox.rb +12 -15
- data/lib/dropbox-sign/models/sub_form_fields_per_document_checkbox_merge.rb +12 -15
- data/lib/dropbox-sign/models/sub_form_fields_per_document_date_signed.rb +12 -15
- data/lib/dropbox-sign/models/sub_form_fields_per_document_dropdown.rb +12 -16
- data/lib/dropbox-sign/models/sub_form_fields_per_document_font_enum.rb +7 -4
- data/lib/dropbox-sign/models/sub_form_fields_per_document_hyperlink.rb +12 -15
- data/lib/dropbox-sign/models/sub_form_fields_per_document_initials.rb +12 -15
- data/lib/dropbox-sign/models/sub_form_fields_per_document_radio.rb +12 -15
- data/lib/dropbox-sign/models/sub_form_fields_per_document_signature.rb +12 -15
- data/lib/dropbox-sign/models/sub_form_fields_per_document_text.rb +12 -15
- data/lib/dropbox-sign/models/sub_form_fields_per_document_text_merge.rb +12 -15
- data/lib/dropbox-sign/models/sub_form_fields_per_document_type_enum.rb +7 -4
- data/lib/dropbox-sign/models/sub_merge_field.rb +12 -15
- data/lib/dropbox-sign/models/sub_o_auth.rb +12 -15
- data/lib/dropbox-sign/models/sub_options.rb +12 -15
- data/lib/dropbox-sign/models/sub_signature_request_grouped_signers.rb +12 -15
- data/lib/dropbox-sign/models/sub_signature_request_signer.rb +14 -17
- data/lib/dropbox-sign/models/sub_signature_request_template_signer.rb +14 -17
- data/lib/dropbox-sign/models/sub_signing_options.rb +12 -15
- data/lib/dropbox-sign/models/sub_team_response.rb +12 -15
- data/lib/dropbox-sign/models/sub_template_role.rb +12 -15
- data/lib/dropbox-sign/models/sub_unclaimed_draft_signer.rb +12 -15
- data/lib/dropbox-sign/models/sub_unclaimed_draft_template_signer.rb +12 -15
- data/lib/dropbox-sign/models/sub_white_labeling_options.rb +12 -15
- data/lib/dropbox-sign/models/team_add_member_request.rb +12 -15
- data/lib/dropbox-sign/models/team_create_request.rb +12 -15
- data/lib/dropbox-sign/models/team_get_info_response.rb +17 -15
- data/lib/dropbox-sign/models/team_get_response.rb +17 -15
- data/lib/dropbox-sign/models/team_info_response.rb +12 -15
- data/lib/dropbox-sign/models/team_invite_response.rb +12 -15
- data/lib/dropbox-sign/models/team_invites_response.rb +17 -15
- data/lib/dropbox-sign/models/team_member_response.rb +12 -15
- data/lib/dropbox-sign/models/team_members_response.rb +22 -15
- data/lib/dropbox-sign/models/team_parent_response.rb +12 -15
- data/lib/dropbox-sign/models/team_remove_member_request.rb +12 -15
- data/lib/dropbox-sign/models/team_response.rb +12 -15
- data/lib/dropbox-sign/models/team_sub_teams_response.rb +22 -15
- data/lib/dropbox-sign/models/team_update_request.rb +12 -15
- data/lib/dropbox-sign/models/template_add_user_request.rb +12 -15
- data/lib/dropbox-sign/models/template_create_embedded_draft_request.rb +14 -17
- data/lib/dropbox-sign/models/template_create_embedded_draft_response.rb +17 -15
- data/lib/dropbox-sign/models/template_create_embedded_draft_response_template.rb +12 -15
- data/lib/dropbox-sign/models/template_create_request.rb +14 -17
- data/lib/dropbox-sign/models/template_create_response.rb +17 -15
- data/lib/dropbox-sign/models/template_create_response_template.rb +12 -15
- data/lib/dropbox-sign/models/template_edit_response.rb +17 -15
- data/lib/dropbox-sign/models/template_get_response.rb +17 -15
- data/lib/dropbox-sign/models/template_list_response.rb +22 -15
- data/lib/dropbox-sign/models/template_remove_user_request.rb +12 -15
- data/lib/dropbox-sign/models/template_response.rb +12 -15
- data/lib/dropbox-sign/models/template_response_account.rb +12 -15
- data/lib/dropbox-sign/models/template_response_account_quota.rb +12 -15
- data/lib/dropbox-sign/models/template_response_cc_role.rb +12 -15
- data/lib/dropbox-sign/models/template_response_document.rb +12 -15
- data/lib/dropbox-sign/models/template_response_document_custom_field_base.rb +13 -16
- data/lib/dropbox-sign/models/template_response_document_custom_field_checkbox.rb +12 -15
- data/lib/dropbox-sign/models/template_response_document_custom_field_text.rb +12 -15
- data/lib/dropbox-sign/models/template_response_document_field_group.rb +12 -15
- data/lib/dropbox-sign/models/template_response_document_field_group_rule.rb +12 -15
- data/lib/dropbox-sign/models/template_response_document_form_field_base.rb +13 -16
- data/lib/dropbox-sign/models/template_response_document_form_field_checkbox.rb +12 -15
- data/lib/dropbox-sign/models/template_response_document_form_field_date_signed.rb +12 -15
- data/lib/dropbox-sign/models/template_response_document_form_field_dropdown.rb +12 -15
- data/lib/dropbox-sign/models/template_response_document_form_field_hyperlink.rb +12 -15
- data/lib/dropbox-sign/models/template_response_document_form_field_initials.rb +12 -15
- data/lib/dropbox-sign/models/template_response_document_form_field_radio.rb +12 -15
- data/lib/dropbox-sign/models/template_response_document_form_field_signature.rb +12 -15
- data/lib/dropbox-sign/models/template_response_document_form_field_text.rb +12 -15
- data/lib/dropbox-sign/models/template_response_document_static_field_base.rb +12 -15
- data/lib/dropbox-sign/models/template_response_document_static_field_checkbox.rb +12 -15
- data/lib/dropbox-sign/models/template_response_document_static_field_date_signed.rb +12 -15
- data/lib/dropbox-sign/models/template_response_document_static_field_dropdown.rb +12 -15
- data/lib/dropbox-sign/models/template_response_document_static_field_hyperlink.rb +12 -15
- data/lib/dropbox-sign/models/template_response_document_static_field_initials.rb +12 -15
- data/lib/dropbox-sign/models/template_response_document_static_field_radio.rb +12 -15
- data/lib/dropbox-sign/models/template_response_document_static_field_signature.rb +12 -15
- data/lib/dropbox-sign/models/template_response_document_static_field_text.rb +12 -15
- data/lib/dropbox-sign/models/template_response_field_avg_text_length.rb +12 -15
- data/lib/dropbox-sign/models/template_response_signer_role.rb +12 -15
- data/lib/dropbox-sign/models/template_update_files_request.rb +14 -17
- data/lib/dropbox-sign/models/template_update_files_response.rb +17 -15
- data/lib/dropbox-sign/models/template_update_files_response_template.rb +12 -15
- data/lib/dropbox-sign/models/unclaimed_draft_create_embedded_request.rb +15 -17
- data/lib/dropbox-sign/models/unclaimed_draft_create_embedded_with_template_request.rb +15 -18
- data/lib/dropbox-sign/models/unclaimed_draft_create_request.rb +15 -17
- data/lib/dropbox-sign/models/unclaimed_draft_create_response.rb +17 -15
- data/lib/dropbox-sign/models/unclaimed_draft_edit_and_resend_request.rb +12 -15
- data/lib/dropbox-sign/models/unclaimed_draft_response.rb +12 -15
- data/lib/dropbox-sign/models/warning_response.rb +12 -15
- data/lib/dropbox-sign/version.rb +2 -2
- data/lib/dropbox-sign.rb +14 -1
- data/openapi-config.yaml +2 -1
- data/openapi-sdk.yaml +1164 -69
- data/run-build +2 -2
- data/spec/api_client_spec.rb +3 -1
- data/spec/configuration_spec.rb +1 -1
- data/spec/spec_helper.rb +1 -1
- data/templates/Gemfile.mustache +2 -0
- data/templates/README.mustache +91 -2
- data/templates/api.mustache +86 -14
- data/templates/api_client.mustache +23 -36
- data/templates/api_client_faraday_partial.mustache +108 -44
- data/templates/api_client_httpx_partial.mustache +134 -0
- data/templates/api_client_typhoeus_partial.mustache +23 -15
- data/templates/api_doc.mustache +88 -1
- data/templates/api_error.mustache +11 -0
- data/templates/api_info.mustache +1 -1
- data/templates/api_test.mustache +1 -1
- data/templates/base_object.mustache +75 -4
- data/templates/configuration.mustache +196 -33
- data/templates/{configuration_tls_faraday_partial.mustache → configuration_faraday_partial.mustache} +11 -0
- data/templates/configuration_httpx_partial.mustache +11 -0
- data/templates/{configuration_tls_typhoeus_partial.mustache → configuration_typhoeus_partial.mustache} +7 -0
- data/templates/gem.mustache +16 -0
- data/templates/gemspec.mustache +10 -4
- data/templates/gitignore.mustache +3 -1
- data/templates/gitlab-ci.mustache +26 -0
- data/templates/model.mustache +16 -0
- data/templates/model_test.mustache +8 -3
- data/templates/partial_anyof_module.mustache +96 -0
- data/templates/partial_model_enum_class.mustache +6 -3
- data/templates/partial_model_generic.mustache +77 -28
- data/templates/partial_model_generic_doc.mustache +28 -0
- data/templates/partial_oneof_module.mustache +4 -4
- data/templates/partial_oneof_module_doc.mustache +1 -0
- data/templates/travis.mustache +1 -4
- data/templates/version.mustache +2 -0
- metadata +46 -11
- data/templates/api_client_spec.mustache +0 -220
- 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
|
-
|
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
|
-
{{
|
90
|
-
{{>
|
91
|
-
{{/
|
109
|
+
{{#isTyphoeus}}
|
110
|
+
{{> configuration_typhoeus_partial}}
|
111
|
+
{{/isTyphoeus}}
|
92
112
|
{{#isFaraday}}
|
93
|
-
{{>
|
113
|
+
{{> configuration_faraday_partial}}
|
94
114
|
{{/isFaraday}}
|
95
|
-
|
96
|
-
|
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 =
|
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
|
-
@
|
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
|
-
{{
|
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
|
-
|
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
|
-
|
172
|
-
|
173
|
-
|
174
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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.
|
359
|
-
|
360
|
-
|
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
|
-
|
363
|
-
|
500
|
+
@middlewares[operation].each do |key, args, block|
|
501
|
+
connection.builder.send(operation, key, *args, &block)
|
502
|
+
end
|
364
503
|
end
|
365
504
|
|
366
|
-
@
|
367
|
-
|
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
|
data/templates/{configuration_tls_faraday_partial.mustache → configuration_faraday_partial.mustache}
RENAMED
@@ -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
|
data/templates/gem.mustache
CHANGED
@@ -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.
|
data/templates/gemspec.mustache
CHANGED
@@ -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.
|
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', '
|
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
|
-
{{
|
28
|
+
{{#isTyphoeus}}
|
26
29
|
s.add_runtime_dependency 'typhoeus', '~> 1.0', '>= 1.0.1'
|
27
|
-
{{/
|
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
|
|
@@ -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
|
+
|
data/templates/model.mustache
CHANGED
@@ -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}}
|