class AlchemyCloudinary::DragonflyDataStore
Public Instance Methods
destroy(uid)
click to toggle source
# File lib/alchemy_cloudinary/dragonfly_data_store.rb, line 19 def destroy(uid) Cloudinary::Uploader.destroy public_id(uid) end
read(uid)
click to toggle source
# File lib/alchemy_cloudinary/dragonfly_data_store.rb, line 14 def read(uid) url = Cloudinary::Utils.cloudinary_url(public_id(uid), format: ext(uid) || 'jpg') [Cloudinary::Downloader.download(url), {'name' => name(uid)}] end
url_for(uid, options = {})
click to toggle source
# File lib/alchemy_cloudinary/dragonfly_data_store.rb, line 23 def url_for(uid, options = {}) options = {format: ext(uid)}.merge(options) Cloudinary::Utils.cloudinary_url(public_id(uid), options) end
write(content, opts = {})
click to toggle source
# File lib/alchemy_cloudinary/dragonfly_data_store.rb, line 7 def write(content, opts = {}) result = Cloudinary::Uploader.upload(content.file, { public_id: name(content.name) }.merge(opts)) "#{result['public_id']}.#{result['format']}" end
Private Instance Methods
ext(uid, with_dot = false)
click to toggle source
# File lib/alchemy_cloudinary/dragonfly_data_store.rb, line 43 def ext(uid, with_dot = false) ext = File.extname(uid) ext[0] = '' if ext && !with_dot ext end
name(uid)
click to toggle source
# File lib/alchemy_cloudinary/dragonfly_data_store.rb, line 34 def name(uid) pid = public_id(uid) if pid.include?('_') public_id(uid).split('_')[0..-1].join else pid end end
public_id(uid)
click to toggle source
# File lib/alchemy_cloudinary/dragonfly_data_store.rb, line 30 def public_id(uid) File.basename(uid, ext(uid, true)) end