Class: Saviour::LifeCycle

Inherits:
Object
  • Object
show all
Defined in:
lib/saviour/life_cycle.rb

Instance Method Summary collapse

Constructor Details

#initialize(model, persistence_klass = nil) ⇒ LifeCycle

Returns a new instance of LifeCycle.



3
4
5
6
7
8
# File 'lib/saviour/life_cycle.rb', line 3

def initialize(model, persistence_klass = nil)
  raise "Please provide an object compatible with Saviour." unless model.class.respond_to?(:attached_files)

  @persistence_klass = persistence_klass
  @model = model
end

Instance Method Details

#delete!Object



10
11
12
13
14
# File 'lib/saviour/life_cycle.rb', line 10

def delete!
  attached_files.each do |column|
    @model.send(column).delete if @model.send(column).exists?
  end
end

#save!Object



16
17
18
19
20
21
22
# File 'lib/saviour/life_cycle.rb', line 16

def save!
  attached_files.each do |column|
    base_file_changed = @model.send(column).changed?

    upload_file(column) if base_file_changed
  end
end