Class: Ittybit::AsyncFilesClient
- Inherits:
-
Object
- Object
- Ittybit::AsyncFilesClient
- Defined in:
- lib/ittybit/files/client.rb
Instance Attribute Summary collapse
Instance Method Summary collapse
-
#create(url:, media_id: nil, folder: nil, filename: nil, ref: nil, metadata: nil, request_options: nil) ⇒ Ittybit::Files::FilesCreateResponse
Creates a new file from a publicly accessible or signed URL.
-
#delete(id:, request_options: nil) ⇒ Ittybit::Files::FilesDeleteResponse
Permanently removes a file from the system.
-
#get(id:, request_options: nil) ⇒ Ittybit::Files::FilesGetResponse
Retrieve the file object for a file with the given ID.
- #initialize(request_client:) ⇒ Ittybit::AsyncFilesClient constructor
-
#list(page: nil, limit: nil, request_options: nil) ⇒ Array<Ittybit::Files::FilesListResponseItem>
Retrieves a paginated list of all files associated with the current project.
-
#update(id:, folder: nil, filename: nil, ref: nil, metadata: nil, request_options: nil) ⇒ Ittybit::Files::FilesUpdateResponse
Update a file’s ‘filename`, `folder`, `ref`, or `metadata`.
Constructor Details
#initialize(request_client:) ⇒ Ittybit::AsyncFilesClient
233 234 235 |
# File 'lib/ittybit/files/client.rb', line 233 def initialize(request_client:) @request_client = request_client end |
Instance Attribute Details
#request_client ⇒ Ittybit::AsyncRequestClient (readonly)
229 230 231 |
# File 'lib/ittybit/files/client.rb', line 229 def request_client @request_client end |
Instance Method Details
#create(url:, media_id: nil, folder: nil, filename: nil, ref: nil, metadata: nil, request_options: nil) ⇒ Ittybit::Files::FilesCreateResponse
Creates a new file from a publicly accessible or signed URL.
298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 |
# File 'lib/ittybit/files/client.rb', line 298 def create(url:, media_id: nil, folder: nil, filename: nil, ref: nil, metadata: nil, request_options: nil) Async do response = @request_client.conn.post do |req| req..timeout = .timeout_in_seconds unless &.timeout_in_seconds.nil? req.headers["Authorization"] = .api_key unless &.api_key.nil? req.headers["ACCEPT_VERSION"] = .version unless &.version.nil? req.headers = { **(req.headers || {}), **@request_client.get_headers, **(&.additional_headers || {}), "Accept-Version": "2025-08-20" }.compact unless .nil? || &.additional_query_parameters.nil? req.params = { **(&.additional_query_parameters || {}) }.compact end req.body = { **(&.additional_body_parameters || {}), url: url, media_id: media_id, folder: folder, filename: filename, ref: ref, metadata: }.compact req.url "#{@request_client.get_url(request_options: )}/files" end Ittybit::Files::FilesCreateResponse.from_json(json_object: response.body) end end |
#delete(id:, request_options: nil) ⇒ Ittybit::Files::FilesDeleteResponse
Permanently removes a file from the system. This action cannot be undone.
376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 |
# File 'lib/ittybit/files/client.rb', line 376 def delete(id:, request_options: nil) Async do response = @request_client.conn.delete do |req| req..timeout = .timeout_in_seconds unless &.timeout_in_seconds.nil? req.headers["Authorization"] = .api_key unless &.api_key.nil? req.headers["ACCEPT_VERSION"] = .version unless &.version.nil? req.headers = { **(req.headers || {}), **@request_client.get_headers, **(&.additional_headers || {}), "Accept-Version": "2025-08-20" }.compact unless .nil? || &.additional_query_parameters.nil? req.params = { **(&.additional_query_parameters || {}) }.compact end unless .nil? || &.additional_body_parameters.nil? req.body = { **(&.additional_body_parameters || {}) }.compact end req.url "#{@request_client.get_url(request_options: )}/files/#{id}" end Ittybit::Files::FilesDeleteResponse.from_json(json_object: response.body) end end |
#get(id:, request_options: nil) ⇒ Ittybit::Files::FilesGetResponse
Retrieve the file object for a file with the given ID.
340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 |
# File 'lib/ittybit/files/client.rb', line 340 def get(id:, request_options: nil) Async do response = @request_client.conn.get do |req| req..timeout = .timeout_in_seconds unless &.timeout_in_seconds.nil? req.headers["Authorization"] = .api_key unless &.api_key.nil? req.headers["ACCEPT_VERSION"] = .version unless &.version.nil? req.headers = { **(req.headers || {}), **@request_client.get_headers, **(&.additional_headers || {}), "Accept-Version": "2025-08-20" }.compact unless .nil? || &.additional_query_parameters.nil? req.params = { **(&.additional_query_parameters || {}) }.compact end unless .nil? || &.additional_body_parameters.nil? req.body = { **(&.additional_body_parameters || {}) }.compact end req.url "#{@request_client.get_url(request_options: )}/files/#{id}" end Ittybit::Files::FilesGetResponse.from_json(json_object: response.body) end end |
#list(page: nil, limit: nil, request_options: nil) ⇒ Array<Ittybit::Files::FilesListResponseItem>
Retrieves a paginated list of all files associated with the current project.
250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 |
# File 'lib/ittybit/files/client.rb', line 250 def list(page: nil, limit: nil, request_options: nil) Async do response = @request_client.conn.get do |req| req..timeout = .timeout_in_seconds unless &.timeout_in_seconds.nil? req.headers["Authorization"] = .api_key unless &.api_key.nil? req.headers["ACCEPT_VERSION"] = .version unless &.version.nil? req.headers = { **(req.headers || {}), **@request_client.get_headers, **(&.additional_headers || {}), "Accept-Version": "2025-08-20" }.compact req.params = { **(&.additional_query_parameters || {}), "page": page, "limit": limit }.compact unless .nil? || &.additional_body_parameters.nil? req.body = { **(&.additional_body_parameters || {}) }.compact end req.url "#{@request_client.get_url(request_options: )}/files" end parsed_json = JSON.parse(response.body) parsed_json&.map do |item| item = item.to_json Ittybit::Files::FilesListResponseItem.from_json(json_object: item) end end end |
#update(id:, folder: nil, filename: nil, ref: nil, metadata: nil, request_options: nil) ⇒ Ittybit::Files::FilesUpdateResponse
Update a file’s ‘filename`, `folder`, `ref`, or `metadata`. Only the specified
fields will be updated.
422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 |
# File 'lib/ittybit/files/client.rb', line 422 def update(id:, folder: nil, filename: nil, ref: nil, metadata: nil, request_options: nil) Async do response = @request_client.conn.patch do |req| req..timeout = .timeout_in_seconds unless &.timeout_in_seconds.nil? req.headers["Authorization"] = .api_key unless &.api_key.nil? req.headers["ACCEPT_VERSION"] = .version unless &.version.nil? req.headers = { **(req.headers || {}), **@request_client.get_headers, **(&.additional_headers || {}), "Accept-Version": "2025-08-20" }.compact unless .nil? || &.additional_query_parameters.nil? req.params = { **(&.additional_query_parameters || {}) }.compact end req.body = { **(&.additional_body_parameters || {}), folder: folder, filename: filename, ref: ref, metadata: }.compact req.url "#{@request_client.get_url(request_options: )}/files/#{id}" end Ittybit::Files::FilesUpdateResponse.from_json(json_object: response.body) end end |