Module: Stipa::Model::SoftDelete

Defined in:
lib/stipa/model/soft_delete.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.included(base) ⇒ Object



4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# File 'lib/stipa/model/soft_delete.rb', line 4

def self.included(base)
  base.instance_eval do
    dataset_module do
      def deleted
        where(deleted_at: !nil)
      end

      def not_deleted
        where(deleted_at: nil)
      end
    end

    def self.dataset
      super.not_deleted
    end
  end
end

Instance Method Details

#deleted?Boolean

Returns:

  • (Boolean)


30
31
32
# File 'lib/stipa/model/soft_delete.rb', line 30

def deleted?
  !deleted_at.nil?
end

#restoreObject



26
27
28
# File 'lib/stipa/model/soft_delete.rb', line 26

def restore
  update(deleted_at: nil)
end

#soft_deleteObject



22
23
24
# File 'lib/stipa/model/soft_delete.rb', line 22

def soft_delete
  update(deleted_at: Time.now.utc)
end