Sha256: 4894e7744a062044e47aaa6e97b59cf16104b159e8addc00e09f5ffa3e7278a3

Contents?: true

Size: 530 Bytes

Versions: 7

Compression:

Stored size: 530 Bytes

Contents

# More options and details: https://github.com/joecorcoran/hideable
module Hideable
  extend ActiveSupport::Concern

  included do
    field :hidden, type: Boolean, default: false

    scope :hidden,     -> { where(hidden: true)  }
    scope :not_hidden, -> { where(hidden: false) }

    def hidden?
      self.hidden
    end

    def hide!
      return if self.hidden?
      self.hidden = true
      self.save!
    end

    def unhide!
      return unless self.hidden?
      self.hidden = false
      self.save!
    end
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
character-1.0.6 app/models/concerns/hideable.rb
character-1.0.5 app/models/concerns/hideable.rb
character-1.0.4 app/models/concerns/hideable.rb
character-1.0.3 app/models/concerns/hideable.rb
character-1.0.2 app/models/concerns/hideable.rb
character-1.0.1 app/models/concerns/hideable.rb
character-1.0.0 app/models/concerns/hideable.rb