module Aktibibo::Activatable

Public Instance Methods

activate() click to toggle source
# File lib/aktibibo/activatable.rb, line 25
def activate
  return if active?
  self.activated_at = Time.now.utc if inactive?
  self.deactivated_at = nil if deactivated?
  save
end
activate!() click to toggle source
# File lib/aktibibo/activatable.rb, line 32
def activate!
  fail Errors::AlreadyActivated if active?
  self.activated_at = Time.now.utc if inactive?
  self.deactivated_at = nil if deactivated?
  self.save!
end
active?() click to toggle source
# File lib/aktibibo/activatable.rb, line 17
def active?
  activated_at.present? && deactivated_at.blank?
end
deactivate() click to toggle source
# File lib/aktibibo/activatable.rb, line 39
def deactivate
  return if deactivated?
  self.deactivated_at = Time.now.utc
  save
end
deactivate!() click to toggle source
# File lib/aktibibo/activatable.rb, line 45
def deactivate!
  fail Errors::AlreadyDeactivated if deactivated?
  self.deactivated_at = Time.now.utc
  self.save!
end
deactivated?() click to toggle source
# File lib/aktibibo/activatable.rb, line 21
def deactivated?
  deactivated_at.present?
end
inactive?() click to toggle source
# File lib/aktibibo/activatable.rb, line 13
def inactive?
  activated_at.blank? && deactivated_at.blank?
end