Module: Abstractor::Methods::Models::SoftDelete
- Defined in:
- lib/abstractor/methods/models/soft_delete.rb
Class Method Summary collapse
Instance Method Summary collapse
- #deleted? ⇒ Boolean
- #process_soft_delete ⇒ Object
- #soft_delete ⇒ Object
- #soft_delete! ⇒ Object
- #soft_delete=(removed) ⇒ Object
Class Method Details
.included(base) ⇒ Object
5 6 7 8 |
# File 'lib/abstractor/methods/models/soft_delete.rb', line 5 def self.included(base) attr_accessor :soft_delete base.send(:scope, :not_deleted, -> { base.where(:deleted_at => nil) }) end |
Instance Method Details
#deleted? ⇒ Boolean
29 30 31 |
# File 'lib/abstractor/methods/models/soft_delete.rb', line 29 def deleted? !deleted_at.blank? end |
#process_soft_delete ⇒ Object
10 11 12 |
# File 'lib/abstractor/methods/models/soft_delete.rb', line 10 def process_soft_delete self.deleted_at = Time.zone.now end |
#soft_delete ⇒ Object
20 21 22 |
# File 'lib/abstractor/methods/models/soft_delete.rb', line 20 def soft_delete !self.deleted_at.blank? end |
#soft_delete! ⇒ Object
24 25 26 27 |
# File 'lib/abstractor/methods/models/soft_delete.rb', line 24 def soft_delete! process_soft_delete save! end |
#soft_delete=(removed) ⇒ Object
14 15 16 17 18 |
# File 'lib/abstractor/methods/models/soft_delete.rb', line 14 def soft_delete=(removed) if (removed.is_a?(TrueClass) || removed.to_s == 't' || removed.to_s == '1') process_soft_delete end end |