Class: Certynix::Resources::Assets
- Inherits:
-
Object
- Object
- Certynix::Resources::Assets
- Defined in:
- lib/certynix/resources/assets.rb
Instance Method Summary collapse
-
#delete(id) ⇒ Object
Remove um asset (soft delete).
-
#get(id) ⇒ Object
Busca um asset por ID.
-
#initialize(http) ⇒ Assets
constructor
A new instance of Assets.
-
#list(**params) ⇒ Object
Lista assets com paginação automática via Enumerable.
-
#poll_jobs_status(job_ids:) ⇒ Hash
Consulta o status de múltiplos jobs de registro (1–50 IDs).
-
#register(hash_sha256: nil, url: nil, file: nil, filename: nil, mime_type: nil, file_size: nil) ⇒ Object
Registra um asset por hash SHA-256, URL ou arquivo.
-
#register_batch(assets:) ⇒ Object
Registra um lote de assets (até 250) de forma assíncrona.
Constructor Details
#initialize(http) ⇒ Assets
Returns a new instance of Assets.
6 7 8 |
# File 'lib/certynix/resources/assets.rb', line 6 def initialize(http) @http = http end |
Instance Method Details
#delete(id) ⇒ Object
Remove um asset (soft delete).
62 63 64 |
# File 'lib/certynix/resources/assets.rb', line 62 def delete(id) @http.delete("/v1/assets/#{URI.encode_www_form_component(id)}") end |
#get(id) ⇒ Object
Busca um asset por ID.
48 49 50 |
# File 'lib/certynix/resources/assets.rb', line 48 def get(id) @http.get("/v1/assets/#{URI.encode_www_form_component(id)}") end |
#list(**params) ⇒ Object
Lista assets com paginação automática via Enumerable.
57 58 59 |
# File 'lib/certynix/resources/assets.rb', line 57 def list(**params) Models::Paginator.new(http: @http, path: '/v1/assets', params: params) end |
#poll_jobs_status(job_ids:) ⇒ Hash
Consulta o status de múltiplos jobs de registro (1–50 IDs).
43 44 45 |
# File 'lib/certynix/resources/assets.rb', line 43 def poll_jobs_status(job_ids:) @http.post('/v1/assets/jobs/status', { job_ids: job_ids }) end |
#register(hash_sha256: nil, url: nil, file: nil, filename: nil, mime_type: nil, file_size: nil) ⇒ Object
Registra um asset por hash SHA-256, URL ou arquivo.
11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
# File 'lib/certynix/resources/assets.rb', line 11 def register(hash_sha256: nil, url: nil, file: nil, filename: nil, mime_type: nil, file_size: nil) body = {} if file # Upload — usar multipart (simplificado: enviar como hash com file_data) body[:file] = file body[:filename] = filename if filename body[:mime_type] = mime_type if mime_type elsif hash_sha256 body[:hash_sha256] = hash_sha256 body[:filename] = filename if filename body[:mime_type] = mime_type if mime_type body[:file_size] = file_size if file_size elsif url body[:url] = url body[:filename] = filename if filename end @http.post('/v1/assets', body) end |
#register_batch(assets:) ⇒ Object
Registra um lote de assets (até 250) de forma assíncrona.
Webhook-first (recomendado): configure o evento ‘asset.created` para receber notificações por asset assim que cada job completar.
Polling (fallback): use ‘poll_jobs_status` com os job_ids retornados.
36 37 38 |
# File 'lib/certynix/resources/assets.rb', line 36 def register_batch(assets:) @http.post('/v1/assets/batch', { assets: assets }) end |