Module: Cassandro::SoftDelete

Defined in:
lib/cassandro/ext/soft_delete.rb

Defined Under Namespace

Modules: ClassMethods

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.included(model) ⇒ Object



13
14
15
16
# File 'lib/cassandro/ext/soft_delete.rb', line 13

def self.included(model)
  model.attribute :deleted, :boolean
  model.extend ClassMethods
end

Instance Method Details

#deleted?Boolean



26
27
28
# File 'lib/cassandro/ext/soft_delete.rb', line 26

def deleted?
  !!deleted
end

#destroyObject



18
19
20
# File 'lib/cassandro/ext/soft_delete.rb', line 18

def destroy
  update_attributes(deleted: true)
end

#exists?Boolean



30
31
32
# File 'lib/cassandro/ext/soft_delete.rb', line 30

def exists?
  !deleted
end

#restoreObject



22
23
24
# File 'lib/cassandro/ext/soft_delete.rb', line 22

def restore
  update_attributes(deleted: false)
end