Class: Sunrise::CarrierWave::BaseUploader
- Inherits:
-
CarrierWave::Uploader::Base
- Object
- CarrierWave::Uploader::Base
- Sunrise::CarrierWave::BaseUploader
- Includes:
- 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]
73 74 75 76 77 78 79 80 81 82 83 |
# File 'lib/sunrise/carrierwave/base_uploader.rb', line 73 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
85 86 87 88 |
# File 'lib/sunrise/carrierwave/base_uploader.rb', line 85 def default_url image_name = [model.class.to_s.underscore, version_name].compact.join('_') "/assets/defaults/#{image_name}.png" end |
#dimensions ⇒ Object
95 96 97 |
# File 'lib/sunrise/carrierwave/base_uploader.rb', line 95 def dimensions [magick[:width], magick[:height]] end |
#image?(new_file = nil) ⇒ Boolean
90 91 92 93 |
# File 'lib/sunrise/carrierwave/base_uploader.rb', line 90 def image?(new_file = nil) _type = (file || new_file).content_type _type.include?('image') && %w[photoshop psd].none? { |p| _type.include?(p) } end |
#magick ⇒ Object
99 100 101 |
# File 'lib/sunrise/carrierwave/base_uploader.rb', line 99 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
41 42 43 44 45 46 47 48 49 50 51 |
# File 'lib/sunrise/carrierwave/base_uploader.rb', line 41 def quality(percentage) percentage = normalize_param(percentage) if percentage.present? 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”
56 57 58 59 60 61 62 63 64 65 66 |
# File 'lib/sunrise/carrierwave/base_uploader.rb', line 56 def rotate(degrees = nil) degrees = normalize_param(degrees) if degrees.present? 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
23 24 25 |
# File 'lib/sunrise/carrierwave/base_uploader.rb', line 23 def store_dir "uploads/#{model.class.to_s.underscore}/#{model.id}" end |
#strip ⇒ Object
Strips out all embedded information from the image process :strip
30 31 32 33 34 35 36 |
# File 'lib/sunrise/carrierwave/base_uploader.rb', line 30 def strip manipulate! do |img| img.strip img = yield(img) if block_given? img end end |