Class: Integral::ImageUploader
- Inherits:
-
CarrierWave::Uploader::Base
- Object
- CarrierWave::Uploader::Base
- Integral::ImageUploader
- Includes:
- CarrierWave::Backgrounder::Delay, CarrierWave::ImageOptimizer, CarrierWave::MiniMagick
- Defined in:
- app/uploaders/integral/image_uploader.rb
Overview
Handles uploading images
Direct Known Subclasses
Instance Method Summary collapse
-
#extension_white_list ⇒ Object
Extension white list.
-
#filename ⇒ Object
Override the filename of the uploaded files.
-
#full_filename(for_file) ⇒ Object
Override full_filename to set version name at the end.
-
#full_original_filename ⇒ Object
Override full_original_filename to set version name at the end.
-
#store_dir ⇒ Object
Override the directory where uploaded files will be stored.
-
#url(*args) ⇒ Object
Return original URL if processing hasn’t been complete (no versions available).
Instance Method Details
#extension_white_list ⇒ Object
Extension white list
18 19 20 |
# File 'app/uploaders/integral/image_uploader.rb', line 18 def extension_white_list %w[jpg jpeg gif png] end |
#filename ⇒ Object
Override the filename of the uploaded files
28 29 30 31 32 33 34 35 36 37 38 39 40 41 |
# File 'app/uploaders/integral/image_uploader.rb', line 28 def filename return unless original_filename filename = if model.respond_to?("#{mounted_as}_filename") model.send("#{mounted_as}_filename") else model.title.parameterize end # Safe-guard against customized filename methods or parameterize returning an empty string return original_filename if filename.blank? "#{filename}.#{file.extension}" end |
#full_filename(for_file) ⇒ Object
Override full_filename to set version name at the end
57 58 59 60 61 62 63 |
# File 'app/uploaders/integral/image_uploader.rb', line 57 def full_filename(for_file) parent_name = super(for_file) extension = File.extname(parent_name) base_name = parent_name.chomp(extension) base_name = base_name[version_name.size.succ..-1] if version_name [base_name, version_name].compact.join('-') + extension end |
#full_original_filename ⇒ Object
Override full_original_filename to set version name at the end
66 67 68 69 70 71 72 |
# File 'app/uploaders/integral/image_uploader.rb', line 66 def full_original_filename parent_name = super extension = File.extname(parent_name) base_name = parent_name.chomp(extension) base_name = base_name[version_name.size.succ..-1] if version_name [base_name, version_name].compact.join('-') + extension end |
#store_dir ⇒ Object
Override the directory where uploaded files will be stored.
13 14 15 |
# File 'app/uploaders/integral/image_uploader.rb', line 13 def store_dir "uploads/#{model.class.to_s.underscore}/#{mounted_as}/#{model.id}" end |
#url(*args) ⇒ Object
Return original URL if processing hasn’t been complete (no versions available)
44 45 46 47 48 49 50 51 52 53 54 |
# File 'app/uploaders/integral/image_uploader.rb', line 44 def url(*args) version_name, = args if model.send("#{mounted_as}_processing?".to_sym) # Without Args super() else # With Args super end end |