beagle_app/app/models/data_file.rb
Nicolas Bally 7b6cba2128 initial
2015-01-27 23:13:36 +01:00

45 lines
700 B
Ruby

# -*- encoding : utf-8 -*-
class DataFile < ActiveRecord::Base
belongs_to :file_folder
mount_uploader :file, FileUploader
before_save do
if !self.name?
self.name = File.basename(self.file.filename, File.extname(self.file.filename)).to_s if self.file?
end
end
before_create { generate_token() }
def file_type
mime = `file --mime -br "#{self.file.path}"`.strip.split(';')[0]
mime
end
def abstract_file_name
self.name
end
def abstract_file_name_slug
self.name.to_slug
end
def generate_token()
begin
self[:token] = SecureRandom.urlsafe_base64
end while DataFile.exists?(:token => self[:token])
end
end