class Progstr::Filer::Attachment
Attributes
attribute[RW]
file[RW]
id[RW]
pre_validated[RW]
uploader_class[RW]
Public Class Methods
empty(uploader_class)
click to toggle source
# File lib/filer/attachment.rb, line 50 def self.empty(uploader_class) result = EmptyAttachment.new result.uploader_class = uploader_class result end
file_id(file)
click to toggle source
# File lib/filer/attachment.rb, line 74 def self.file_id(file) if file.respond_to?(:id) file.id else generate_id end end
from_file(uploader_class, attribute, file)
click to toggle source
# File lib/filer/attachment.rb, line 63 def self.from_file(uploader_class, attribute, file) result = Attachment.new result.id = file_id(file) result.attribute = attribute result.uploader_class = uploader_class result.file = file result.pre_validated = false result end
from_id(uploader_class, attribute, id)
click to toggle source
# File lib/filer/attachment.rb, line 101 def self.from_id(uploader_class, attribute, id) result = Attachment.new result.id = id result.attribute = attribute result.uploader_class = uploader_class result.pre_validated = true result end
from_json(uploader_class, attribute, json)
click to toggle source
# File lib/filer/attachment.rb, line 56 def self.from_json(uploader_class, attribute, json) file = FileLike.new(json) result = from_file(uploader_class, attribute, file) result.pre_validated = true return result end
generate_id()
click to toggle source
# File lib/filer/attachment.rb, line 82 def self.generate_id uuid = @@id_generator.generate uuid.gsub("-", "") end
Public Instance Methods
blank?()
click to toggle source
# File lib/filer/attachment.rb, line 111 def blank? false end
display_hash()
click to toggle source
# File lib/filer/attachment.rb, line 136 def display_hash { "name" => path, "size" => size, "id" => id } end
display_json()
click to toggle source
# File lib/filer/attachment.rb, line 132 def display_json MultiJson.encode(display_hash) end
extension()
click to toggle source
# File lib/filer/attachment.rb, line 96 def extension from_file = File.extname(path) || "" from_file.sub(".", "") end
mark_uploaded!()
click to toggle source
# File lib/filer/attachment.rb, line 147 def mark_uploaded! @uploaded = true end
need_upload?()
click to toggle source
# File lib/filer/attachment.rb, line 151 def need_upload? if uploaded? false elsif file.nil? false elsif file.kind_of?(FileLike) false else true end end
path()
click to toggle source
# File lib/filer/attachment.rb, line 91 def path (file.original_filename if file.respond_to?(:original_filename)) || (file_path = file.path if file.respond_to?(:path)) end
public_url()
click to toggle source
# File lib/filer/attachment.rb, line 124 def public_url if !blank? "#{Progstr::Filer.url_prefix}files/data/#{Progstr::Filer.access_key}/#{id}" else "" end end
size()
click to toggle source
# File lib/filer/attachment.rb, line 87 def size file.size end
uploaded?()
click to toggle source
# File lib/filer/attachment.rb, line 144 def uploaded? @uploaded == true end
url()
click to toggle source
# File lib/filer/attachment.rb, line 115 def url if !blank? token = Progstr::Filer.generate_download_auth_token(id) "#{Progstr::Filer.url_prefix}files/data/#{Progstr::Filer.access_key}/#{id}?auth=#{token}" else "" end end