phrase 2.15.0 → 2.17.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/CHANGELOG.md +15 -0
- data/Gemfile +1 -0
- data/README.md +13 -3
- data/docs/FigmaAttachment.md +23 -0
- data/docs/FigmaAttachmentCreateParameters.md +19 -0
- data/docs/FigmaAttachmentUpdateParameters.md +19 -0
- data/docs/FigmaAttachmentsApi.md +341 -0
- data/docs/KeysFigmaAttachmentsApi.md +142 -0
- data/docs/LocalesApi.md +8 -8
- data/docs/TranslationsApi.md +2 -2
- data/docs/UploadCreateParameters.md +3 -1
- data/docs/UploadsApi.md +3 -1
- data/lib/phrase/api/figma_attachments_api.rb +393 -0
- data/lib/phrase/api/keys_figma_attachments_api.rb +168 -0
- data/lib/phrase/api/locales_api.rb +8 -8
- data/lib/phrase/api/translations_api.rb +2 -2
- data/lib/phrase/api/uploads_api.rb +3 -0
- data/lib/phrase/models/figma_attachment.rb +221 -0
- data/lib/phrase/models/figma_attachment_create_parameters.rb +205 -0
- data/lib/phrase/models/figma_attachment_update_parameters.rb +205 -0
- data/lib/phrase/models/upload_create_parameters.rb +16 -4
- data/lib/phrase/version.rb +1 -1
- data/lib/phrase.rb +5 -0
- data/spec/api/figma_attachments_api_spec.rb +100 -0
- data/spec/api/keys_figma_attachments_api_spec.rb +55 -0
- data/spec/api/locales_api_spec.rb +112 -8
- data/spec/api/translations_api_spec.rb +1 -1
- data/spec/api/uploads_api_spec.rb +16 -1
- data/spec/models/figma_attachment_create_parameters_spec.rb +35 -0
- data/spec/models/figma_attachment_spec.rb +47 -0
- data/spec/models/figma_attachment_update_parameters_spec.rb +35 -0
- data/spec/models/upload_create_parameters_spec.rb +6 -0
- data/spec/spec_helper.rb +1 -0
- metadata +239 -219
@@ -0,0 +1,168 @@
|
|
1
|
+
require 'cgi'
|
2
|
+
|
3
|
+
module Phrase
|
4
|
+
class KeysFigmaAttachmentsApi
|
5
|
+
attr_accessor :api_client
|
6
|
+
|
7
|
+
def initialize(api_client = ApiClient.default)
|
8
|
+
@api_client = api_client
|
9
|
+
end
|
10
|
+
# Attach the Figma attachment to a key
|
11
|
+
# Attach the Figma attachment to a key
|
12
|
+
# @param project_id [String] Project ID
|
13
|
+
# @param figma_attachment_id [String] Figma attachment ID
|
14
|
+
# @param id [String] ID
|
15
|
+
# @param [Hash] opts the optional parameters
|
16
|
+
# @option opts [String] :x_phrase_app_otp Two-Factor-Authentication token (optional)
|
17
|
+
# @option opts [String] :branch specify the branch to use
|
18
|
+
# @return [nil]
|
19
|
+
def figma_attachment_attach_to_key(project_id, figma_attachment_id, id, opts = {})
|
20
|
+
data, _status_code, _headers = figma_attachment_attach_to_key_with_http_info(project_id, figma_attachment_id, id, opts)
|
21
|
+
data
|
22
|
+
end
|
23
|
+
|
24
|
+
# Attach the Figma attachment to a key
|
25
|
+
# Attach the Figma attachment to a key
|
26
|
+
# @param project_id [String] Project ID
|
27
|
+
# @param figma_attachment_id [String] Figma attachment ID
|
28
|
+
# @param id [String] ID
|
29
|
+
# @param [Hash] opts the optional parameters
|
30
|
+
# @option opts [String] :x_phrase_app_otp Two-Factor-Authentication token (optional)
|
31
|
+
# @option opts [String] :branch specify the branch to use
|
32
|
+
# @return [Array<(Response, Integer, Hash)>] Response<(nil, response status code and response headers
|
33
|
+
def figma_attachment_attach_to_key_with_http_info(project_id, figma_attachment_id, id, opts = {})
|
34
|
+
if @api_client.config.debugging
|
35
|
+
@api_client.config.logger.debug 'Calling API: KeysFigmaAttachmentsApi.figma_attachment_attach_to_key ...'
|
36
|
+
end
|
37
|
+
# verify the required parameter 'project_id' is set
|
38
|
+
if @api_client.config.client_side_validation && project_id.nil?
|
39
|
+
fail ArgumentError, "Missing the required parameter 'project_id' when calling KeysFigmaAttachmentsApi.figma_attachment_attach_to_key"
|
40
|
+
end
|
41
|
+
# verify the required parameter 'figma_attachment_id' is set
|
42
|
+
if @api_client.config.client_side_validation && figma_attachment_id.nil?
|
43
|
+
fail ArgumentError, "Missing the required parameter 'figma_attachment_id' when calling KeysFigmaAttachmentsApi.figma_attachment_attach_to_key"
|
44
|
+
end
|
45
|
+
# verify the required parameter 'id' is set
|
46
|
+
if @api_client.config.client_side_validation && id.nil?
|
47
|
+
fail ArgumentError, "Missing the required parameter 'id' when calling KeysFigmaAttachmentsApi.figma_attachment_attach_to_key"
|
48
|
+
end
|
49
|
+
# resource path
|
50
|
+
local_var_path = '/projects/{project_id}/figma_attachments/{figma_attachment_id}/keys'.sub('{' + 'project_id' + '}', CGI.escape(project_id.to_s)).sub('{' + 'figma_attachment_id' + '}', CGI.escape(figma_attachment_id.to_s)).sub('{' + 'id' + '}', CGI.escape(id.to_s))
|
51
|
+
|
52
|
+
# query parameters
|
53
|
+
query_params = opts[:query_params] || {}
|
54
|
+
query_params[:'branch'] = opts[:'branch'] if !opts[:'branch'].nil?
|
55
|
+
|
56
|
+
# header parameters
|
57
|
+
header_params = opts[:header_params] || {}
|
58
|
+
header_params[:'X-PhraseApp-OTP'] = opts[:'x_phrase_app_otp'] if !opts[:'x_phrase_app_otp'].nil?
|
59
|
+
|
60
|
+
# form parameters
|
61
|
+
form_params = opts[:form_params] || {}
|
62
|
+
|
63
|
+
# http body (model)
|
64
|
+
post_body = opts[:body]
|
65
|
+
|
66
|
+
# return_type
|
67
|
+
return_type = opts[:return_type]
|
68
|
+
|
69
|
+
# auth_names
|
70
|
+
auth_names = opts[:auth_names] || ['Basic', 'Token']
|
71
|
+
|
72
|
+
new_options = opts.merge(
|
73
|
+
:header_params => header_params,
|
74
|
+
:query_params => query_params,
|
75
|
+
:form_params => form_params,
|
76
|
+
:body => post_body,
|
77
|
+
:auth_names => auth_names,
|
78
|
+
:return_type => return_type
|
79
|
+
)
|
80
|
+
|
81
|
+
data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
|
82
|
+
if @api_client.config.debugging
|
83
|
+
@api_client.config.logger.debug "API called: KeysFigmaAttachmentsApi#figma_attachment_attach_to_key\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
|
84
|
+
end
|
85
|
+
response = ::Phrase::Response.new(data, headers)
|
86
|
+
return response, status_code, headers
|
87
|
+
end
|
88
|
+
|
89
|
+
# Detach the Figma attachment from a key
|
90
|
+
# Detach the Figma attachment from a key
|
91
|
+
# @param project_id [String] Project ID
|
92
|
+
# @param figma_attachment_id [String] Figma attachment ID
|
93
|
+
# @param id [String] ID
|
94
|
+
# @param [Hash] opts the optional parameters
|
95
|
+
# @option opts [String] :x_phrase_app_otp Two-Factor-Authentication token (optional)
|
96
|
+
# @option opts [String] :branch specify the branch to use
|
97
|
+
# @return [nil]
|
98
|
+
def figma_attachment_detach_from_key(project_id, figma_attachment_id, id, opts = {})
|
99
|
+
data, _status_code, _headers = figma_attachment_detach_from_key_with_http_info(project_id, figma_attachment_id, id, opts)
|
100
|
+
data
|
101
|
+
end
|
102
|
+
|
103
|
+
# Detach the Figma attachment from a key
|
104
|
+
# Detach the Figma attachment from a key
|
105
|
+
# @param project_id [String] Project ID
|
106
|
+
# @param figma_attachment_id [String] Figma attachment ID
|
107
|
+
# @param id [String] ID
|
108
|
+
# @param [Hash] opts the optional parameters
|
109
|
+
# @option opts [String] :x_phrase_app_otp Two-Factor-Authentication token (optional)
|
110
|
+
# @option opts [String] :branch specify the branch to use
|
111
|
+
# @return [Array<(Response, Integer, Hash)>] Response<(nil, response status code and response headers
|
112
|
+
def figma_attachment_detach_from_key_with_http_info(project_id, figma_attachment_id, id, opts = {})
|
113
|
+
if @api_client.config.debugging
|
114
|
+
@api_client.config.logger.debug 'Calling API: KeysFigmaAttachmentsApi.figma_attachment_detach_from_key ...'
|
115
|
+
end
|
116
|
+
# verify the required parameter 'project_id' is set
|
117
|
+
if @api_client.config.client_side_validation && project_id.nil?
|
118
|
+
fail ArgumentError, "Missing the required parameter 'project_id' when calling KeysFigmaAttachmentsApi.figma_attachment_detach_from_key"
|
119
|
+
end
|
120
|
+
# verify the required parameter 'figma_attachment_id' is set
|
121
|
+
if @api_client.config.client_side_validation && figma_attachment_id.nil?
|
122
|
+
fail ArgumentError, "Missing the required parameter 'figma_attachment_id' when calling KeysFigmaAttachmentsApi.figma_attachment_detach_from_key"
|
123
|
+
end
|
124
|
+
# verify the required parameter 'id' is set
|
125
|
+
if @api_client.config.client_side_validation && id.nil?
|
126
|
+
fail ArgumentError, "Missing the required parameter 'id' when calling KeysFigmaAttachmentsApi.figma_attachment_detach_from_key"
|
127
|
+
end
|
128
|
+
# resource path
|
129
|
+
local_var_path = '/projects/{project_id}/figma_attachments/{figma_attachment_id}/keys/{id}'.sub('{' + 'project_id' + '}', CGI.escape(project_id.to_s)).sub('{' + 'figma_attachment_id' + '}', CGI.escape(figma_attachment_id.to_s)).sub('{' + 'id' + '}', CGI.escape(id.to_s))
|
130
|
+
|
131
|
+
# query parameters
|
132
|
+
query_params = opts[:query_params] || {}
|
133
|
+
query_params[:'branch'] = opts[:'branch'] if !opts[:'branch'].nil?
|
134
|
+
|
135
|
+
# header parameters
|
136
|
+
header_params = opts[:header_params] || {}
|
137
|
+
header_params[:'X-PhraseApp-OTP'] = opts[:'x_phrase_app_otp'] if !opts[:'x_phrase_app_otp'].nil?
|
138
|
+
|
139
|
+
# form parameters
|
140
|
+
form_params = opts[:form_params] || {}
|
141
|
+
|
142
|
+
# http body (model)
|
143
|
+
post_body = opts[:body]
|
144
|
+
|
145
|
+
# return_type
|
146
|
+
return_type = opts[:return_type]
|
147
|
+
|
148
|
+
# auth_names
|
149
|
+
auth_names = opts[:auth_names] || ['Basic', 'Token']
|
150
|
+
|
151
|
+
new_options = opts.merge(
|
152
|
+
:header_params => header_params,
|
153
|
+
:query_params => query_params,
|
154
|
+
:form_params => form_params,
|
155
|
+
:body => post_body,
|
156
|
+
:auth_names => auth_names,
|
157
|
+
:return_type => return_type
|
158
|
+
)
|
159
|
+
|
160
|
+
data, status_code, headers = @api_client.call_api(:DELETE, local_var_path, new_options)
|
161
|
+
if @api_client.config.debugging
|
162
|
+
@api_client.config.logger.debug "API called: KeysFigmaAttachmentsApi#figma_attachment_detach_from_key\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
|
163
|
+
end
|
164
|
+
response = ::Phrase::Response.new(data, headers)
|
165
|
+
return response, status_code, headers
|
166
|
+
end
|
167
|
+
end
|
168
|
+
end
|
@@ -156,7 +156,7 @@ module Phrase
|
|
156
156
|
# Delete a locale
|
157
157
|
# Delete an existing locale.
|
158
158
|
# @param project_id [String] Project ID
|
159
|
-
# @param id [String] ID
|
159
|
+
# @param id [String] Locale ID or locale name
|
160
160
|
# @param [Hash] opts the optional parameters
|
161
161
|
# @option opts [String] :x_phrase_app_otp Two-Factor-Authentication token (optional)
|
162
162
|
# @option opts [String] :branch specify the branch to use
|
@@ -169,7 +169,7 @@ module Phrase
|
|
169
169
|
# Delete a locale
|
170
170
|
# Delete an existing locale.
|
171
171
|
# @param project_id [String] Project ID
|
172
|
-
# @param id [String] ID
|
172
|
+
# @param id [String] Locale ID or locale name
|
173
173
|
# @param [Hash] opts the optional parameters
|
174
174
|
# @option opts [String] :x_phrase_app_otp Two-Factor-Authentication token (optional)
|
175
175
|
# @option opts [String] :branch specify the branch to use
|
@@ -229,7 +229,7 @@ module Phrase
|
|
229
229
|
# Download a locale
|
230
230
|
# Download a locale in a specific file format.
|
231
231
|
# @param project_id [String] Project ID
|
232
|
-
# @param id [String] ID
|
232
|
+
# @param id [String] Locale ID or locale name
|
233
233
|
# @param [Hash] opts the optional parameters
|
234
234
|
# @option opts [String] :x_phrase_app_otp Two-Factor-Authentication token (optional)
|
235
235
|
# @option opts [String] :if_modified_since Last modified condition, see <a href=\"#overview--conditional-get-requests--http-caching\">Conditional GET requests / HTTP Caching</a> (optional)
|
@@ -259,7 +259,7 @@ module Phrase
|
|
259
259
|
# Download a locale
|
260
260
|
# Download a locale in a specific file format.
|
261
261
|
# @param project_id [String] Project ID
|
262
|
-
# @param id [String] ID
|
262
|
+
# @param id [String] Locale ID or locale name
|
263
263
|
# @param [Hash] opts the optional parameters
|
264
264
|
# @option opts [String] :x_phrase_app_otp Two-Factor-Authentication token (optional)
|
265
265
|
# @option opts [String] :if_modified_since Last modified condition, see <a href=\"#overview--conditional-get-requests--http-caching\">Conditional GET requests / HTTP Caching</a> (optional)
|
@@ -355,7 +355,7 @@ module Phrase
|
|
355
355
|
# Get a single locale
|
356
356
|
# Get details on a single locale for a given project.
|
357
357
|
# @param project_id [String] Project ID
|
358
|
-
# @param id [String] ID
|
358
|
+
# @param id [String] Locale ID or locale name
|
359
359
|
# @param [Hash] opts the optional parameters
|
360
360
|
# @option opts [String] :x_phrase_app_otp Two-Factor-Authentication token (optional)
|
361
361
|
# @option opts [String] :branch specify the branch to use
|
@@ -368,7 +368,7 @@ module Phrase
|
|
368
368
|
# Get a single locale
|
369
369
|
# Get details on a single locale for a given project.
|
370
370
|
# @param project_id [String] Project ID
|
371
|
-
# @param id [String] ID
|
371
|
+
# @param id [String] Locale ID or locale name
|
372
372
|
# @param [Hash] opts the optional parameters
|
373
373
|
# @option opts [String] :x_phrase_app_otp Two-Factor-Authentication token (optional)
|
374
374
|
# @option opts [String] :branch specify the branch to use
|
@@ -430,7 +430,7 @@ module Phrase
|
|
430
430
|
# Update a locale
|
431
431
|
# Update an existing locale.
|
432
432
|
# @param project_id [String] Project ID
|
433
|
-
# @param id [String] ID
|
433
|
+
# @param id [String] Locale ID or locale name
|
434
434
|
# @param locale_update_parameters [LocaleUpdateParameters]
|
435
435
|
# @param [Hash] opts the optional parameters
|
436
436
|
# @option opts [String] :x_phrase_app_otp Two-Factor-Authentication token (optional)
|
@@ -443,7 +443,7 @@ module Phrase
|
|
443
443
|
# Update a locale
|
444
444
|
# Update an existing locale.
|
445
445
|
# @param project_id [String] Project ID
|
446
|
-
# @param id [String] ID
|
446
|
+
# @param id [String] Locale ID or locale name
|
447
447
|
# @param locale_update_parameters [LocaleUpdateParameters]
|
448
448
|
# @param [Hash] opts the optional parameters
|
449
449
|
# @option opts [String] :x_phrase_app_otp Two-Factor-Authentication token (optional)
|
@@ -976,7 +976,7 @@ module Phrase
|
|
976
976
|
# @option opts [String] :branch specify the branch to use
|
977
977
|
# @option opts [String] :sort Sort criteria. Can be one of: key_name, created_at, updated_at.
|
978
978
|
# @option opts [String] :order Order direction. Can be one of: asc, desc.
|
979
|
-
# @option opts [String] :q Specify a query to find translations by content (including wildcards).<br><br> <i>Note: Search is limited to 10000 results and may not include recently updated data (depending on the project size).</i><br> The following qualifiers are supported in the query:<br> <ul> <li><code>id:translation_id,...</code> for queries on a comma-separated list of ids</li> <li><code>tags:XYZ</code> for tags on the translation</li> <li><code>unverified:{true|false}</code> for verification status</li> <li><code>excluded:{true|false}</code> for exclusion status</li> <li><code>updated_at:{>=|<=}2013-02-21T00:00:00Z</code> for date range queries</li> </ul> Find more examples <a href=\"#overview--usage-examples\">here</a>.
|
979
|
+
# @option opts [String] :q Specify a query to find translations by content (including wildcards).<br><br> <i>Note: Search is limited to 10000 results and may not include recently updated data (depending on the project size).</i><br> The following qualifiers are supported in the query:<br> <ul> <li><code>id:translation_id,...</code> for queries on a comma-separated list of ids</li> <li><code>tags:XYZ</code> for tags on the translation</li> <li><code>unverified:{true|false}</code> for verification status</li> <li><code>excluded:{true|false}</code> for exclusion status</li> <li><code>updated_at:{>=|<=}2013-02-21T00:00:00Z</code> for date range queries</li> <li><code>reviewed_after:2013-02-21T00:00:00Z</code> for fetching translations that were reviewed after the given timestamp</li> </ul> Find more examples <a href=\"#overview--usage-examples\">here</a>.
|
980
980
|
# @return [Array<Translation>]
|
981
981
|
def translations_list(project_id, opts = {})
|
982
982
|
data, _status_code, _headers = translations_list_with_http_info(project_id, opts)
|
@@ -995,7 +995,7 @@ module Phrase
|
|
995
995
|
# @option opts [String] :branch specify the branch to use
|
996
996
|
# @option opts [String] :sort Sort criteria. Can be one of: key_name, created_at, updated_at.
|
997
997
|
# @option opts [String] :order Order direction. Can be one of: asc, desc.
|
998
|
-
# @option opts [String] :q Specify a query to find translations by content (including wildcards).<br><br> <i>Note: Search is limited to 10000 results and may not include recently updated data (depending on the project size).</i><br> The following qualifiers are supported in the query:<br> <ul> <li><code>id:translation_id,...</code> for queries on a comma-separated list of ids</li> <li><code>tags:XYZ</code> for tags on the translation</li> <li><code>unverified:{true|false}</code> for verification status</li> <li><code>excluded:{true|false}</code> for exclusion status</li> <li><code>updated_at:{>=|<=}2013-02-21T00:00:00Z</code> for date range queries</li> </ul> Find more examples <a href=\"#overview--usage-examples\">here</a>.
|
998
|
+
# @option opts [String] :q Specify a query to find translations by content (including wildcards).<br><br> <i>Note: Search is limited to 10000 results and may not include recently updated data (depending on the project size).</i><br> The following qualifiers are supported in the query:<br> <ul> <li><code>id:translation_id,...</code> for queries on a comma-separated list of ids</li> <li><code>tags:XYZ</code> for tags on the translation</li> <li><code>unverified:{true|false}</code> for verification status</li> <li><code>excluded:{true|false}</code> for exclusion status</li> <li><code>updated_at:{>=|<=}2013-02-21T00:00:00Z</code> for date range queries</li> <li><code>reviewed_after:2013-02-21T00:00:00Z</code> for fetching translations that were reviewed after the given timestamp</li> </ul> Find more examples <a href=\"#overview--usage-examples\">here</a>.
|
999
999
|
# @return [Array<(Response<(Array<Translation>)>, Integer, Hash)>] Response<(Array<Translation>)> data, response status code and response headers
|
1000
1000
|
def translations_list_with_http_info(project_id, opts = {})
|
1001
1001
|
if @api_client.config.debugging
|
@@ -27,6 +27,7 @@ module Phrase
|
|
27
27
|
# @option opts [Object] :format_options Additional options available for specific formats. See our format guide for complete list.
|
28
28
|
# @option opts [Boolean] :autotranslate If set, translations for the uploaded language will be fetched automatically.
|
29
29
|
# @option opts [Boolean] :mark_reviewed Indicated whether the imported translations should be marked as reviewed. This setting is available if the review workflow is enabled for the project.
|
30
|
+
# @option opts [Boolean] :tag_only_affected_keys Indicates whether only keys affected (created or updated) by the upload should be tagged. The default is `false` (default to false)
|
30
31
|
# @return [Upload]
|
31
32
|
def upload_create(project_id, opts = {})
|
32
33
|
data, _status_code, _headers = upload_create_with_http_info(project_id, opts)
|
@@ -53,6 +54,7 @@ module Phrase
|
|
53
54
|
# @option opts [Object] :format_options Additional options available for specific formats. See our format guide for complete list.
|
54
55
|
# @option opts [Boolean] :autotranslate If set, translations for the uploaded language will be fetched automatically.
|
55
56
|
# @option opts [Boolean] :mark_reviewed Indicated whether the imported translations should be marked as reviewed. This setting is available if the review workflow is enabled for the project.
|
57
|
+
# @option opts [Boolean] :tag_only_affected_keys Indicates whether only keys affected (created or updated) by the upload should be tagged. The default is `false`
|
56
58
|
# @return [Array<(Response<(Upload)>, Integer, Hash)>] Response<(Upload)> data, response status code and response headers
|
57
59
|
def upload_create_with_http_info(project_id, opts = {})
|
58
60
|
if @api_client.config.debugging
|
@@ -93,6 +95,7 @@ module Phrase
|
|
93
95
|
form_params['format_options'] = opts[:'format_options'] if !opts[:'format_options'].nil?
|
94
96
|
form_params['autotranslate'] = opts[:'autotranslate'] if !opts[:'autotranslate'].nil?
|
95
97
|
form_params['mark_reviewed'] = opts[:'mark_reviewed'] if !opts[:'mark_reviewed'].nil?
|
98
|
+
form_params['tag_only_affected_keys'] = opts[:'tag_only_affected_keys'] if !opts[:'tag_only_affected_keys'].nil?
|
96
99
|
|
97
100
|
# http body (model)
|
98
101
|
post_body = opts[:body]
|
@@ -0,0 +1,221 @@
|
|
1
|
+
require 'date'
|
2
|
+
|
3
|
+
module Phrase
|
4
|
+
class FigmaAttachment
|
5
|
+
attr_accessor :id
|
6
|
+
|
7
|
+
attr_accessor :url
|
8
|
+
|
9
|
+
attr_accessor :created_at
|
10
|
+
|
11
|
+
attr_accessor :updated_at
|
12
|
+
|
13
|
+
# Attribute mapping from ruby-style variable name to JSON key.
|
14
|
+
def self.attribute_map
|
15
|
+
{
|
16
|
+
:'id' => :'id',
|
17
|
+
:'url' => :'url',
|
18
|
+
:'created_at' => :'created_at',
|
19
|
+
:'updated_at' => :'updated_at'
|
20
|
+
}
|
21
|
+
end
|
22
|
+
|
23
|
+
# Attribute type mapping.
|
24
|
+
def self.openapi_types
|
25
|
+
{
|
26
|
+
:'id' => :'String',
|
27
|
+
:'url' => :'String',
|
28
|
+
:'created_at' => :'DateTime',
|
29
|
+
:'updated_at' => :'DateTime'
|
30
|
+
}
|
31
|
+
end
|
32
|
+
|
33
|
+
# List of attributes with nullable: true
|
34
|
+
def self.openapi_nullable
|
35
|
+
Set.new([
|
36
|
+
])
|
37
|
+
end
|
38
|
+
|
39
|
+
# Initializes the object
|
40
|
+
# @param [Hash] attributes Model attributes in the form of hash
|
41
|
+
def initialize(attributes = {})
|
42
|
+
if (!attributes.is_a?(Hash))
|
43
|
+
fail ArgumentError, "The input argument (attributes) must be a hash in `Phrase::FigmaAttachment` initialize method"
|
44
|
+
end
|
45
|
+
|
46
|
+
# check to see if the attribute exists and convert string to symbol for hash key
|
47
|
+
attributes = attributes.each_with_object({}) { |(k, v), h|
|
48
|
+
if (!self.class.attribute_map.key?(k.to_sym))
|
49
|
+
fail ArgumentError, "`#{k}` is not a valid attribute in `Phrase::FigmaAttachment`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
|
50
|
+
end
|
51
|
+
h[k.to_sym] = v
|
52
|
+
}
|
53
|
+
|
54
|
+
if attributes.key?(:'id')
|
55
|
+
self.id = attributes[:'id']
|
56
|
+
end
|
57
|
+
|
58
|
+
if attributes.key?(:'url')
|
59
|
+
self.url = attributes[:'url']
|
60
|
+
end
|
61
|
+
|
62
|
+
if attributes.key?(:'created_at')
|
63
|
+
self.created_at = attributes[:'created_at']
|
64
|
+
end
|
65
|
+
|
66
|
+
if attributes.key?(:'updated_at')
|
67
|
+
self.updated_at = attributes[:'updated_at']
|
68
|
+
end
|
69
|
+
end
|
70
|
+
|
71
|
+
# Show invalid properties with the reasons. Usually used together with valid?
|
72
|
+
# @return Array for valid properties with the reasons
|
73
|
+
def list_invalid_properties
|
74
|
+
invalid_properties = Array.new
|
75
|
+
invalid_properties
|
76
|
+
end
|
77
|
+
|
78
|
+
# Check to see if the all the properties in the model are valid
|
79
|
+
# @return true if the model is valid
|
80
|
+
def valid?
|
81
|
+
true
|
82
|
+
end
|
83
|
+
|
84
|
+
# Checks equality by comparing each attribute.
|
85
|
+
# @param [Object] Object to be compared
|
86
|
+
def ==(o)
|
87
|
+
return true if self.equal?(o)
|
88
|
+
self.class == o.class &&
|
89
|
+
id == o.id &&
|
90
|
+
url == o.url &&
|
91
|
+
created_at == o.created_at &&
|
92
|
+
updated_at == o.updated_at
|
93
|
+
end
|
94
|
+
|
95
|
+
# @see the `==` method
|
96
|
+
# @param [Object] Object to be compared
|
97
|
+
def eql?(o)
|
98
|
+
self == o
|
99
|
+
end
|
100
|
+
|
101
|
+
# Calculates hash code according to all attributes.
|
102
|
+
# @return [Integer] Hash code
|
103
|
+
def hash
|
104
|
+
[id, url, created_at, updated_at].hash
|
105
|
+
end
|
106
|
+
|
107
|
+
# Builds the object from hash
|
108
|
+
# @param [Hash] attributes Model attributes in the form of hash
|
109
|
+
# @return [Object] Returns the model itself
|
110
|
+
def self.build_from_hash(attributes)
|
111
|
+
new.build_from_hash(attributes)
|
112
|
+
end
|
113
|
+
|
114
|
+
# Builds the object from hash
|
115
|
+
# @param [Hash] attributes Model attributes in the form of hash
|
116
|
+
# @return [Object] Returns the model itself
|
117
|
+
def build_from_hash(attributes)
|
118
|
+
return nil unless attributes.is_a?(Hash)
|
119
|
+
self.class.openapi_types.each_pair do |key, type|
|
120
|
+
if type =~ /\AArray<(.*)>/i
|
121
|
+
# check to ensure the input is an array given that the attribute
|
122
|
+
# is documented as an array but the input is not
|
123
|
+
if attributes[self.class.attribute_map[key]].is_a?(Array)
|
124
|
+
self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
|
125
|
+
end
|
126
|
+
elsif !attributes[self.class.attribute_map[key]].nil?
|
127
|
+
self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
|
128
|
+
end # or else data not found in attributes(hash), not an issue as the data can be optional
|
129
|
+
end
|
130
|
+
|
131
|
+
self
|
132
|
+
end
|
133
|
+
|
134
|
+
# Deserializes the data based on type
|
135
|
+
# @param string type Data type
|
136
|
+
# @param string value Value to be deserialized
|
137
|
+
# @return [Object] Deserialized data
|
138
|
+
def _deserialize(type, value)
|
139
|
+
case type.to_sym
|
140
|
+
when :DateTime
|
141
|
+
DateTime.parse(value)
|
142
|
+
when :Date
|
143
|
+
Date.parse(value)
|
144
|
+
when :String
|
145
|
+
value.to_s
|
146
|
+
when :Integer
|
147
|
+
value.to_i
|
148
|
+
when :Float
|
149
|
+
value.to_f
|
150
|
+
when :Boolean
|
151
|
+
if value.to_s =~ /\A(true|t|yes|y|1)\z/i
|
152
|
+
true
|
153
|
+
else
|
154
|
+
false
|
155
|
+
end
|
156
|
+
when :Object
|
157
|
+
# generic object (usually a Hash), return directly
|
158
|
+
value
|
159
|
+
when /\AArray<(?<inner_type>.+)>\z/
|
160
|
+
inner_type = Regexp.last_match[:inner_type]
|
161
|
+
value.map { |v| _deserialize(inner_type, v) }
|
162
|
+
when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
|
163
|
+
k_type = Regexp.last_match[:k_type]
|
164
|
+
v_type = Regexp.last_match[:v_type]
|
165
|
+
{}.tap do |hash|
|
166
|
+
value.each do |k, v|
|
167
|
+
hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
|
168
|
+
end
|
169
|
+
end
|
170
|
+
else # model
|
171
|
+
Phrase.const_get(type).build_from_hash(value)
|
172
|
+
end
|
173
|
+
end
|
174
|
+
|
175
|
+
# Returns the string representation of the object
|
176
|
+
# @return [String] String presentation of the object
|
177
|
+
def to_s
|
178
|
+
to_hash.to_s
|
179
|
+
end
|
180
|
+
|
181
|
+
# to_body is an alias to to_hash (backward compatibility)
|
182
|
+
# @return [Hash] Returns the object in the form of hash
|
183
|
+
def to_body
|
184
|
+
to_hash
|
185
|
+
end
|
186
|
+
|
187
|
+
# Returns the object in the form of hash
|
188
|
+
# @return [Hash] Returns the object in the form of hash
|
189
|
+
def to_hash
|
190
|
+
hash = {}
|
191
|
+
self.class.attribute_map.each_pair do |attr, param|
|
192
|
+
value = self.send(attr)
|
193
|
+
if value.nil?
|
194
|
+
is_nullable = self.class.openapi_nullable.include?(attr)
|
195
|
+
next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
|
196
|
+
end
|
197
|
+
|
198
|
+
hash[param] = _to_hash(value)
|
199
|
+
end
|
200
|
+
hash
|
201
|
+
end
|
202
|
+
|
203
|
+
# Outputs non-array value in the form of hash
|
204
|
+
# For object, use to_hash. Otherwise, just return the value
|
205
|
+
# @param [Object] value Any valid value
|
206
|
+
# @return [Hash] Returns the value in the form of hash
|
207
|
+
def _to_hash(value)
|
208
|
+
if value.is_a?(Array)
|
209
|
+
value.compact.map { |v| _to_hash(v) }
|
210
|
+
elsif value.is_a?(Hash)
|
211
|
+
{}.tap do |hash|
|
212
|
+
value.each { |k, v| hash[k] = _to_hash(v) }
|
213
|
+
end
|
214
|
+
elsif value.respond_to? :to_hash
|
215
|
+
value.to_hash
|
216
|
+
else
|
217
|
+
value
|
218
|
+
end
|
219
|
+
end
|
220
|
+
end
|
221
|
+
end
|