Class: AbAdmin::CarrierWave::BaseUploader
- Inherits:
-
CarrierWave::Uploader::Base
- Object
- CarrierWave::Uploader::Base
- AbAdmin::CarrierWave::BaseUploader
- Includes:
- Utils::EvalHelpers, CarrierWave::MimeTypes, CarrierWave::MiniMagick
- Defined in:
- lib/ab_admin/carrierwave/base_uploader.rb
Direct Known Subclasses
Instance Method Summary collapse
-
#cropper(*geometry) ⇒ Object
Crop image by specific coordinates www.imagemagick.org/script/command-line-processing.php?ImageMagick=6ddk6c680muj4eu2vr54vdveb7#geometry process cropper: [size, offset] process cropper: [800, 600, 10, 20].
- #default_url ⇒ Object
- #dimensions ⇒ Object
- #image?(new_file = nil) ⇒ Boolean
- #magick ⇒ Object
-
#quality(percentage) ⇒ Object
Reduces the quality of the image to the percentage given process quality: 85.
-
#rotate(degrees = nil) ⇒ Object
Rotate image by degress process rotate: “-90”.
-
#store_dir ⇒ Object
default store assets path.
-
#strip ⇒ Object
Strips out all embedded information from the image process :strip.
- #watermark(path_to_file, gravity = 'SouthEast') ⇒ Object
Methods included from Utils::EvalHelpers
#call_method_or_proc_on, #evaluate_method
Instance Method Details
#cropper(*geometry) ⇒ Object
Crop image by specific coordinates www.imagemagick.org/script/command-line-processing.php?ImageMagick=6ddk6c680muj4eu2vr54vdveb7#geometry process cropper: [size, offset] process cropper: [800, 600, 10, 20]
77 78 79 80 81 82 83 84 85 86 87 |
# File 'lib/ab_admin/carrierwave/base_uploader.rb', line 77 def cropper(*geometry) geometry = normalize_param(geometry[0]) if geometry.size == 1 if geometry && geometry.size == 4 manipulate! do |img| img.crop '%ix%i+%i+%i' % geometry img = yield(img) if block_given? img end end end |
#default_url ⇒ Object
96 97 98 99 |
# File 'lib/ab_admin/carrierwave/base_uploader.rb', line 96 def default_url image_name = [model.class.to_s.underscore, version_name].compact.join('_') "/assets/defaults/#{image_name}.png" end |
#dimensions ⇒ Object
105 106 107 |
# File 'lib/ab_admin/carrierwave/base_uploader.rb', line 105 def dimensions [magick[:width], magick[:height]] end |
#image?(new_file = nil) ⇒ Boolean
101 102 103 |
# File 'lib/ab_admin/carrierwave/base_uploader.rb', line 101 def image?(new_file = nil) (file || new_file).content_type.include? 'image' end |
#magick ⇒ Object
109 110 111 112 |
# File 'lib/ab_admin/carrierwave/base_uploader.rb', line 109 def magick #@magick ||= ::MiniMagick::Image.new(current_path) ::MiniMagick::Image.new(current_path) end |
#quality(percentage) ⇒ Object
Reduces the quality of the image to the percentage given process quality: 85
45 46 47 48 49 50 51 52 53 54 55 |
# File 'lib/ab_admin/carrierwave/base_uploader.rb', line 45 def quality(percentage) percentage = normalize_param(percentage) unless percentage.blank? manipulate! do |img| img.quality(percentage.to_s) img = yield(img) if block_given? img end end end |
#rotate(degrees = nil) ⇒ Object
Rotate image by degress process rotate: “-90”
60 61 62 63 64 65 66 67 68 69 70 |
# File 'lib/ab_admin/carrierwave/base_uploader.rb', line 60 def rotate(degrees = nil) degrees = normalize_param(degrees) unless degrees.blank? manipulate! do |img| img.rotate(degrees.to_s) img = yield(img) if block_given? img end end end |
#store_dir ⇒ Object
default store assets path
27 28 29 |
# File 'lib/ab_admin/carrierwave/base_uploader.rb', line 27 def store_dir "uploads/#{model.class.to_s.underscore}/#{model.id}" end |
#strip ⇒ Object
Strips out all embedded information from the image process :strip
34 35 36 37 38 39 40 |
# File 'lib/ab_admin/carrierwave/base_uploader.rb', line 34 def strip manipulate! do |img| img.strip img = yield(img) if block_given? img end end |
#watermark(path_to_file, gravity = 'SouthEast') ⇒ Object
89 90 91 92 93 94 |
# File 'lib/ab_admin/carrierwave/base_uploader.rb', line 89 def watermark(path_to_file, gravity='SouthEast') manipulate! do |img| logo = ::MiniMagick::Image.open(path_to_file) img.composite(logo) { |c| c.gravity gravity } end end |