module Archivable::Model

Public Instance Methods

active?() click to toggle source
# File lib/archivable/model.rb, line 20
def active?
  return false if respond_to?(:is_active) && !is_active
  alive?
end
alive?() click to toggle source
# File lib/archivable/model.rb, line 45
def alive?
  ! archived?
end
alive_presence() click to toggle source
# File lib/archivable/model.rb, line 49
def alive_presence
  alive? ? self : nil
end
archive() click to toggle source
# File lib/archivable/model.rb, line 25
def archive
  self.archived_at ||= Time.zone.now
end
archive!() click to toggle source
# File lib/archivable/model.rb, line 29
def archive!
  update_column :archived_at, Time.zone.now
end
archive_all!(at: Time.zone.now) click to toggle source
# File lib/archivable/model.rb, line 11
def archive_all!(at: Time.zone.now)
  update_all archived_at: at
end
archived?() click to toggle source
# File lib/archivable/model.rb, line 41
def archived?
  archived_at.present?
end
restore() click to toggle source
# File lib/archivable/model.rb, line 33
def restore
  self.archived_at = nil
end
restore!() click to toggle source
# File lib/archivable/model.rb, line 37
def restore!
  update_column :archived_at, nil
end
restore_all!() click to toggle source
# File lib/archivable/model.rb, line 15
def restore_all!
  update_all archived_at: nil
end