Module: Archiveable

Extended by:
ActiveSupport::Concern
Defined in:
lib/archiveable.rb,
lib/archiveable/version.rb

Constant Summary collapse

VERSION =
"0.0.6"

Instance Method Summary collapse

Instance Method Details

#archiveObject



29
30
31
# File 'lib/archiveable.rb', line 29

def archive
  update archived: true
end

#archive!Object



33
34
35
# File 'lib/archiveable.rb', line 33

def archive!
  update! archived: true
end

#archivedObject



21
22
23
# File 'lib/archiveable.rb', line 21

def archived
  archived_at.present?
end

#archived=(value) ⇒ Object



25
26
27
# File 'lib/archiveable.rb', line 25

def archived=(value)
  self.archived_at = bool(value) ? Time.now : nil
end

#publishObject



37
38
39
# File 'lib/archiveable.rb', line 37

def publish
  update archived: false
end

#publish!Object



41
42
43
# File 'lib/archiveable.rb', line 41

def publish!
  update! archived: false
end

#publishedObject



13
14
15
# File 'lib/archiveable.rb', line 13

def published
  !archived
end

#published=(value) ⇒ Object



17
18
19
# File 'lib/archiveable.rb', line 17

def published=(value)
  self.archived = !bool(value)
end