# -*- 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