Class: RailsUploads::Types::Image

Inherits:
File
  • Object
show all
Defined in:
lib/rails_uploads/types/image.rb

Instance Method Summary collapse

Methods inherited from File

#exists?, #extname, #filename, #initialize, #is_default?, #is_deleted?, #is_stored?, #path, #size, #url

Constructor Details

This class inherits a constructor from RailsUploads::Types::File

Instance Method Details

#deleteObject



13
14
15
# File 'lib/rails_uploads/types/image.rb', line 13

def delete
  super { presets.each { |name| storage.delete path(name) if exists?(name) } if presets.any? }
end

#delete_preset(name) ⇒ Object



33
34
35
# File 'lib/rails_uploads/types/image.rb', line 33

def delete_preset(name)
  storage.delete path(name)
end

#generate_preset(name) ⇒ Object



17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
# File 'lib/rails_uploads/types/image.rb', line 17

def generate_preset(name)
  storage.magick destination_path, destination_path(name), @upload do |image|
    settings = Rails.application.config.uploads.presets[name]
    if settings.is_a? Proc
      settings.call image
    else
      case settings[:method]
      when :fit
        image.resize_to_fit settings[:width], settings[:height]
      else
        image.resize_to_fill settings[:width], settings[:height]                        
      end
    end
  end
end

#presetsObject



5
6
7
# File 'lib/rails_uploads/types/image.rb', line 5

def presets
  Rails.application.config.uploads.default_presets | (@options[:presets] or [])
end

#storeObject



9
10
11
# File 'lib/rails_uploads/types/image.rb', line 9

def store
  super { presets.each { |name| generate_preset name } if presets.any? }
end