Class: Sunrise::CarrierWave::BaseUploader
- Inherits:
-
CarrierWave::Uploader::Base
- Object
- CarrierWave::Uploader::Base
- Sunrise::CarrierWave::BaseUploader
- Includes:
- CarrierWave::MimeTypes, CarrierWave::MiniMagick, Utils::EvalHelpers
- Defined in:
- lib/sunrise/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.
Methods included from Utils::EvalHelpers
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]
76 77 78 79 80 81 82 83 84 85 86 |
# File 'lib/sunrise/carrierwave/base_uploader.rb', line 76 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
88 89 90 91 |
# File 'lib/sunrise/carrierwave/base_uploader.rb', line 88 def default_url image_name = [model.class.to_s.underscore, version_name].compact.join('_') "/assets/defaults/#{image_name}.png" end |
#dimensions ⇒ Object
98 99 100 |
# File 'lib/sunrise/carrierwave/base_uploader.rb', line 98 def dimensions [magick[:width], magick[:height]] end |
#image?(new_file = nil) ⇒ Boolean
93 94 95 96 |
# File 'lib/sunrise/carrierwave/base_uploader.rb', line 93 def image?(new_file = nil) _type = (file || new_file).content_type _type.include?('image') && !['photoshop', 'psd'].any? {|p| _type.include?(p) } end |
#magick ⇒ Object
102 103 104 |
# File 'lib/sunrise/carrierwave/base_uploader.rb', line 102 def magick @magick ||= ::MiniMagick::Image.new(current_path) end |
#quality(percentage) ⇒ Object
Reduces the quality of the image to the percentage given process :quality => 85
44 45 46 47 48 49 50 51 52 53 54 |
# File 'lib/sunrise/carrierwave/base_uploader.rb', line 44 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”
59 60 61 62 63 64 65 66 67 68 69 |
# File 'lib/sunrise/carrierwave/base_uploader.rb', line 59 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
26 27 28 |
# File 'lib/sunrise/carrierwave/base_uploader.rb', line 26 def store_dir "uploads/#{model.class.to_s.underscore}/#{model.id}" end |
#strip ⇒ Object
Strips out all embedded information from the image process :strip
33 34 35 36 37 38 39 |
# File 'lib/sunrise/carrierwave/base_uploader.rb', line 33 def strip manipulate! do |img| img.strip img = yield(img) if block_given? img end end |