Module: Deleteable

Included in:
MailManager::Contact, MailManager::Mailing, MailManager::MailingList
Defined in:
lib/deleteable.rb

Defined Under Namespace

Modules: ClassMethods

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.included(receiver) ⇒ Object



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

def self.included(receiver)
  receiver.extend ClassMethods
  receiver.class_eval do
    default_scope where("deleted_at IS NULL")
  end
end

Instance Method Details

#deleteObject



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

def delete
  update_attribute(:deleted_at,Time.now)
end

#is_deleted?Boolean

Returns:

  • (Boolean)


10
11
12
# File 'lib/deleteable.rb', line 10

def is_deleted?
  !deleted_at.nil?
end

#undeleteObject



18
19
20
# File 'lib/deleteable.rb', line 18

def undelete
  update_attribute(:deleted_at,nil)
end