Class: Attachs::Types::Image

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

Instance Method Summary collapse

Methods inherited from File

#default?, #deleted?, #exists?, #extname, #filename, #initialize, #original_filename, #path, #realpath, #size, #stored?, #url

Constructor Details

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

Instance Method Details

#deleteObject



13
14
15
# File 'lib/attachs/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



28
29
30
# File 'lib/attachs/types/image.rb', line 28

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

#generate_preset(name) ⇒ Object



17
18
19
20
21
22
23
24
25
26
# File 'lib/attachs/types/image.rb', line 17

def generate_preset(name)
  storage.magick destination_path, destination_path(name), upload do |image|
    settings = Rails.application.config.attachs.presets[name]
    if settings.respond_to? :call
      settings.call image
    else
      image.send "resize_to_#{settings[:method] || 'fill'}", settings[:width], settings[:height]
    end
  end
end

#presetsObject



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

def presets
  Rails.application.config.attachs.default_presets | (options[:presets] || [])
end

#storeObject



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

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