Module: Archivable::Model
- Extended by:
- ActiveSupport::Concern
- Defined in:
- lib/archivable/model.rb
Instance Method Summary collapse
- #active? ⇒ Boolean
- #alive? ⇒ Boolean
- #alive_presence ⇒ Object
- #archive ⇒ Object
- #archive! ⇒ Object
- #archived? ⇒ Boolean
- #restore ⇒ Object
- #restore! ⇒ Object
Instance Method Details
#active? ⇒ Boolean
20 21 22 23 |
# File 'lib/archivable/model.rb', line 20 def active? return false if respond_to?(:is_active) && !is_active alive? end |
#alive? ⇒ Boolean
45 46 47 |
# File 'lib/archivable/model.rb', line 45 def alive? ! archived? end |
#alive_presence ⇒ Object
49 50 51 |
# File 'lib/archivable/model.rb', line 49 def alive_presence alive? ? self : nil end |
#archive ⇒ Object
25 26 27 |
# File 'lib/archivable/model.rb', line 25 def archive self.archived_at ||= Time.zone.now end |
#archive! ⇒ Object
29 30 31 |
# File 'lib/archivable/model.rb', line 29 def archive! update_column :archived_at, Time.zone.now end |
#archived? ⇒ Boolean
41 42 43 |
# File 'lib/archivable/model.rb', line 41 def archived? archived_at.present? end |
#restore ⇒ Object
33 34 35 |
# File 'lib/archivable/model.rb', line 33 def restore self.archived_at = nil end |
#restore! ⇒ Object
37 38 39 |
# File 'lib/archivable/model.rb', line 37 def restore! update_column :archived_at, nil end |