Module: SoftDeletable::InstanceMethods

Defined in:
lib/soft_deletable.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.included(base) ⇒ Object



5
6
7
8
9
10
11
12
# File 'lib/soft_deletable.rb', line 5

def self.included(base)
  base.class_eval do
    alias_method :hard_delete, :delete
    alias_method :delete, :soft_delete
    alias_method :hard_destroy, :destroy
    alias_method :destroy, :soft_destroy
  end
end

Instance Method Details

#soft_deleteObject



14
15
16
# File 'lib/soft_deletable.rb', line 14

def soft_delete
  update_column :deleted_at, Time.now
end

#soft_destroyObject



18
19
20
21
22
23
# File 'lib/soft_deletable.rb', line 18

def soft_destroy
  _run_destroy_callbacks do
    destroy_associations
    delete
  end
end