class Cloudinary::CarrierWave::CloudinaryFile
def delete
def delete public_id = @resource_type == "raw" ? self.filename : self.public_id Cloudinary::Uploader.destroy(public_id, :type=>self.storage_type, :resource_type=>self.resource_type) if @uploader.delete_remote? end
def exists?
def exists? public_id = @resource_type == "raw" ? self.filename : self.public_id Cloudinary::Uploader.exists?(public_id, :version=>self.version, :type=>self.storage_type, :resource_type=>self.resource_type) end
def initialize(identifier, uploader)
def initialize(identifier, uploader) @uploader = uploader @identifier = identifier if @identifier.match(%r(^(image|raw|video)/(upload|private|authenticated)(?:/v([0-9]+))?/(.*))) @resource_type = $1 @storage_type = $2 @version = $3.presence @filename = $4 elsif @identifier.match(%r(^v([0-9]+)/(.*))) @version = $1 @filename = $2 else @filename = @identifier @version = nil end @storage_type ||= uploader.class.storage_type @resource_type ||= Cloudinary::Utils.resource_type_for_format(@filename) @public_id, @format = Cloudinary::PreloadedFile.split_format(@filename) end
def read(options={})
def read(options={}) parameters={:type=>self.storage_type, :resource_type=>self.resource_type}.merge(options) Cloudinary::Downloader.download(self.identifier, parameters) end
def storage_identifier
def storage_identifier identifier end