Sha256: 44d95147466ae59c02f22dc609d604b6657c9d5579250f43b5194f3aa99930a0
Contents?: true
Size: 1.19 KB
Versions: 3
Compression:
Stored size: 1.19 KB
Contents
require 'fileutils' class FileUploader < CarrierWave::Uploader::Base include CarrierWave::MiniMagick storage :file after :remove, :delete_empty_upstream_dirs version :normalized, :if => :image? do process :resize_to_fit => [600,600] end version :preview, :if => :image? do process :resize_to_limit => [100,100] end def timestamp time=if model model.created_at || Time.now else Time.now end time.strftime("%Y%m") end # With slash in first place it will be absolute url, otherwise relative to Rails.root+"/public" def store_dir if model "uploads/#{model.class.to_s.underscore}/#{mounted_as}/#{timestamp}/#{model.id}" else "uploads/misc" end end def delete_empty_upstream_dirs path = ::File.expand_path(store_dir, root) #FileUtils.rm_rf path # always remove # path = ::File.expand_path(base_store_dir, root) Dir.delete(path) # fails if path not empty dir rescue SystemCallError true # nothing, the dir is not empty end def image?(file) File.extname(file.filename.to_s).match(/jpg|JPG|jpeg|JPEG|png|PNG|gif|GIF/) end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
lolita-file-upload-0.6.1 | app/uploaders/file_uploader.rb |
lolita-file-upload-0.6.0 | app/uploaders/file_uploader.rb |
lolita-file-upload-0.5.0 | app/uploaders/file_uploader.rb |