Class: Saviour::LifeCycle

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

Defined Under Namespace

Classes: FileCreator, FileUpdater

Instance Method Summary collapse

Constructor Details

#initialize(model, persistence_klass) ⇒ LifeCycle

Returns a new instance of LifeCycle.

Raises:



78
79
80
81
82
83
# File 'lib/saviour/life_cycle.rb', line 78

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

  @persistence_klass = persistence_klass
  @model = model
end

Instance Method Details

#create!Object



93
94
95
# File 'lib/saviour/life_cycle.rb', line 93

def create!
  process_upload(FileCreator)
end

#delete!Object



85
86
87
88
89
90
91
# File 'lib/saviour/life_cycle.rb', line 85

def delete!
  DbHelpers.run_after_commit do
    attached_files.each do |column|
      @model.send(column).delete
    end
  end
end

#update!Object



97
98
99
# File 'lib/saviour/life_cycle.rb', line 97

def update!
  process_upload(FileUpdater)
end