Module: Archive2s::InstanceMethods

Defined in:
lib/archive_2s.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.included(base) ⇒ Object



54
55
56
57
58
# File 'lib/archive_2s.rb', line 54

def self.included(base)
  base.class_eval do
    alias_method_chain :destroy, :archive
  end
end

Instance Method Details

#destroy_with_archiveObject

wrap it all up in a transaction



61
62
63
64
65
66
67
# File 'lib/archive_2s.rb', line 61

def destroy_with_archive
  self.class.transaction do
    archived = ::Archive2s::Model.new(:model => self, :archived_value => self.send(self.class.archive_2s_args[:method_name]), :archived_at => Time.now)
    archived.save!
    destroy_without_archive
  end
end