Sha256: c1a5c2fd9f683cd0acc02ae6375dd7e5ff37d8df8ab41837a19f308958788997

Contents?: true

Size: 415 Bytes

Versions: 54

Compression:

Stored size: 415 Bytes

Contents

module PushType
  module Trashable
    extend ActiveSupport::Concern

    included do
      scope :not_trash, -> { where(deleted_at: nil) }
      scope :trashed,   -> { where('deleted_at IS NOT NULL') }
    end

    def trash!
      update_attribute :deleted_at, Time.zone.now
    end

    def restore!
      update_attribute :deleted_at, nil
    end

    def trashed?
      deleted_at.present?
    end

  end  
end

Version data entries

54 entries across 54 versions & 1 rubygems

Version Path
push_type_core-0.12.1 app/models/concerns/push_type/trashable.rb
push_type_core-0.12.0 app/models/concerns/push_type/trashable.rb
push_type_core-0.12.0.beta.1 app/models/concerns/push_type/trashable.rb
push_type_core-0.11.2 app/models/concerns/push_type/trashable.rb
push_type_core-0.11.1 app/models/concerns/push_type/trashable.rb
push_type_core-0.11.0.beta.2 app/models/concerns/push_type/trashable.rb
push_type_core-0.11.0.beta.1 app/models/concerns/push_type/trashable.rb
push_type_core-0.10.4 app/models/concerns/push_type/trashable.rb
push_type_core-0.10.3 app/models/concerns/push_type/trashable.rb
push_type_core-0.10.2 app/models/concerns/push_type/trashable.rb
push_type_core-0.10.1 app/models/concerns/push_type/trashable.rb
push_type_core-0.10.0 app/models/concerns/push_type/trashable.rb
push_type_core-0.10.0.beta.5 app/models/concerns/push_type/trashable.rb
push_type_core-0.10.0.beta.3 app/models/concerns/push_type/trashable.rb
push_type_core-0.9.5 app/models/concerns/push_type/trashable.rb
push_type_core-0.9.3 app/models/concerns/push_type/trashable.rb
push_type_core-0.9.2 app/models/concerns/push_type/trashable.rb
push_type_core-0.9.1 app/models/concerns/push_type/trashable.rb
push_type_core-0.9.0 app/models/concerns/push_type/trashable.rb
push_type_core-0.9.0.beta.4 app/models/concerns/push_type/trashable.rb