Sha256: 39c7f6d32a17917b5832fd888619b741f402983743ed7665b234078d51c2d709
Contents?: true
Size: 1.21 KB
Versions: 16
Compression:
Stored size: 1.21 KB
Contents
module Tessa class Asset include Virtus.model extend ResponseFactory attribute :id, Integer attribute :status, String attribute :strategy, String attribute :meta, Hash[Symbol => String] attribute :public_url, String attribute :private_url, String attribute :private_download_url, String attribute :delete_url, String def complete!(connection: Tessa.config.connection) Asset.new_from_response connection.patch("/assets/#{id}/completed") end def cancel!(connection: Tessa.config.connection) Asset.new_from_response connection.patch("/assets/#{id}/cancelled") end def delete!(connection: Tessa.config.connection) Asset.new_from_response connection.delete("/assets/#{id}") end def self.find(*ids, connection: Tessa.config.connection) new_from_response connection.get("/assets/#{ids.join(",")}") end def self.create(file:, **options) default_options = { size: File.size(file), name: File.basename(file), date: File.mtime(file), } Upload.create(default_options.merge(options)).upload_file(file) end def failure? false end end end require 'tessa/asset/failure'
Version data entries
16 entries across 16 versions & 1 rubygems