Sha256: fcc7a5dee22631e50735b3bf29263761466bcd94cf74b47cfe84b3702275b402

Contents?: true

Size: 495 Bytes

Versions: 3

Compression:

Stored size: 495 Bytes

Contents

# A module for entities that are both openable and lockable.
#
module Lockable
  include Openable

  attr_accessor :lock_key

  def locked=(bool)
    @locked = bool
    if @locked == true
      self.open = false
    end
  end

  def open=(bool)
    @open = bool
    @locked = false if @open == true
  end

  def locked?
    @locked ||= false
  end

  def unlocked?
    !locked?
  end

  def lock_key?
    !@lock_key.nil?
  end
  alias has_lock_key? lock_key?
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
gamefic-standard-2.4.0 lib/gamefic-standard/modules/lockable.rb
gamefic-standard-2.3.1 lib/gamefic-standard/modules/lockable.rb
gamefic-standard-2.3.0 lib/gamefic-standard/modules/lockable.rb