Module: Resizor::ClassMethods

Defined in:
lib/resizor/railtie.rb

Instance Method Summary collapse

Instance Method Details

#has_resizor_asset(name, options = {}) ⇒ Object



28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
# File 'lib/resizor/railtie.rb', line 28

def has_resizor_asset name, options = {}
  include InstanceMethods

  if resizor_assets.nil?
    self.resizor_assets = {}
  end
  resizor_assets[name] = options

  before_save :save_attached_files_for_resizor
  before_destroy :delete_attached_files_on_resizor

  define_method name do |*args|
    asset_for(name)
  end

  define_method "#{name}=" do |file|
    asset_for(name).assign(file)
  end

  define_method "#{name}?" do
    !asset_for(name).file.nil? || !asset_for(name).id.nil?
  end
end