Class: Uploadcare::Api::Rest::Files
- Inherits:
-
Object
- Object
- Uploadcare::Api::Rest::Files
- Defined in:
- lib/uploadcare/api/rest/files.rb
Overview
REST API endpoint for file operations.
Provides methods for listing, searching, retrieving, storing, deleting, and copying files.
Instance Attribute Summary collapse
-
#rest ⇒ Uploadcare::Api::Rest
readonly
Parent REST client.
Instance Method Summary collapse
-
#batch_delete(uuids:, request_options: {}) ⇒ Uploadcare::Result
Batch delete files by UUIDs.
-
#batch_store(uuids:, request_options: {}) ⇒ Uploadcare::Result
Batch store files by UUIDs.
-
#delete(uuid:, request_options: {}) ⇒ Uploadcare::Result
Delete a file by UUID.
-
#info(uuid:, params: {}, request_options: {}) ⇒ Uploadcare::Result
Get file information by UUID.
-
#initialize(rest:) ⇒ Files
constructor
A new instance of Files.
-
#list(params: {}, request_options: {}) ⇒ Uploadcare::Result
List files with optional filtering and pagination.
-
#local_copy(source:, options: {}, request_options: {}) ⇒ Uploadcare::Result
Copy a file to local storage.
-
#remote_copy(source:, target:, options: {}, request_options: {}) ⇒ Uploadcare::Result
Copy a file to remote storage.
-
#search(params: {}, query: {}, request_options: {}) ⇒ Uploadcare::Result
Search files by full-text criteria and structured filters.
-
#store(uuid:, request_options: {}) ⇒ Uploadcare::Result
Store a file by UUID, making it permanently available.
Constructor Details
#initialize(rest:) ⇒ Files
Returns a new instance of Files.
19 20 21 |
# File 'lib/uploadcare/api/rest/files.rb', line 19 def initialize(rest:) @rest = rest end |
Instance Attribute Details
#rest ⇒ Uploadcare::Api::Rest (readonly)
Returns Parent REST client.
16 17 18 |
# File 'lib/uploadcare/api/rest/files.rb', line 16 def rest @rest end |
Instance Method Details
#batch_delete(uuids:, request_options: {}) ⇒ Uploadcare::Result
Batch delete files by UUIDs.
100 101 102 103 |
# File 'lib/uploadcare/api/rest/files.rb', line 100 def batch_delete(uuids:, request_options: {}) rest.request(method: :delete, path: '/files/storage/', params: uuids, headers: {}, request_options: ) end |
#batch_store(uuids:, request_options: {}) ⇒ Uploadcare::Result
Batch store files by UUIDs.
90 91 92 |
# File 'lib/uploadcare/api/rest/files.rb', line 90 def batch_store(uuids:, request_options: {}) rest.put(path: '/files/storage/', params: uuids, headers: {}, request_options: ) end |
#delete(uuid:, request_options: {}) ⇒ Uploadcare::Result
Delete a file by UUID.
78 79 80 81 82 |
# File 'lib/uploadcare/api/rest/files.rb', line 78 def delete(uuid:, request_options: {}) encoded_uuid = URI.encode_www_form_component(uuid.to_s) rest.request(method: :delete, path: "/files/#{encoded_uuid}/storage/", params: {}, headers: {}, request_options: ) end |
#info(uuid:, params: {}, request_options: {}) ⇒ Uploadcare::Result
Get file information by UUID.
56 57 58 59 |
# File 'lib/uploadcare/api/rest/files.rb', line 56 def info(uuid:, params: {}, request_options: {}) encoded_uuid = URI.encode_www_form_component(uuid.to_s) rest.get(path: "/files/#{encoded_uuid}/", params: params, headers: {}, request_options: ) end |
#list(params: {}, request_options: {}) ⇒ Uploadcare::Result
List files with optional filtering and pagination.
29 30 31 |
# File 'lib/uploadcare/api/rest/files.rb', line 29 def list(params: {}, request_options: {}) rest.get(path: '/files/', params: params, headers: {}, request_options: ) end |
#local_copy(source:, options: {}, request_options: {}) ⇒ Uploadcare::Result
Copy a file to local storage.
112 113 114 115 |
# File 'lib/uploadcare/api/rest/files.rb', line 112 def local_copy(source:, options: {}, request_options: {}) params = { source: source }.merge() rest.post(path: '/files/local_copy/', params: params, headers: {}, request_options: ) end |
#remote_copy(source:, target:, options: {}, request_options: {}) ⇒ Uploadcare::Result
Copy a file to remote storage.
125 126 127 128 |
# File 'lib/uploadcare/api/rest/files.rb', line 125 def remote_copy(source:, target:, options: {}, request_options: {}) params = { source: source, target: target }.merge() rest.post(path: '/files/remote_copy/', params: params, headers: {}, request_options: ) end |
#search(params: {}, query: {}, request_options: {}) ⇒ Uploadcare::Result
Search files by full-text criteria and structured filters.
Search criteria belong in the JSON request body (params). Pagination and
response expansion options belong in the query string (query).
43 44 45 46 47 |
# File 'lib/uploadcare/api/rest/files.rb', line 43 def search(params: {}, query: {}, request_options: {}) rest.post( path: '/files/search/', params: params, query: query, headers: {}, request_options: ) end |
#store(uuid:, request_options: {}) ⇒ Uploadcare::Result
Store a file by UUID, making it permanently available.
67 68 69 70 |
# File 'lib/uploadcare/api/rest/files.rb', line 67 def store(uuid:, request_options: {}) encoded_uuid = URI.encode_www_form_component(uuid.to_s) rest.put(path: "/files/#{encoded_uuid}/storage/", params: {}, headers: {}, request_options: ) end |