module InstanceStorage::InstanceStorageExtend

Public Instance Methods

[](name) click to toggle source

インスタンス event_name を返す。既に有る場合はそのインスタンス、ない場合は新しく作って返す。

Args

name

インスタンスの名前(Symbol)

Return

Event

# File lib/instance_storage.rb, line 46
def [](name)
  name_sym = name.to_sym
  if instances_dict.has_key?(name_sym)
    instances_dict[name_sym]
  else
    storage_lock.synchronize{
      if instances_dict.has_key?(name_sym)
        instances_dict[name_sym]
      else
        instances_dict[name_sym] = self.new(name_sym) end } end end
clear!() click to toggle source

定義されているインスタンスを全て削除する

# File lib/instance_storage.rb, line 36
def clear!
  @instances = nil
  self
end
destroy(name) click to toggle source
# File lib/instance_storage.rb, line 85
def destroy(name)
  instances_dict.delete(name.to_sym)
  self
end
instance(name) click to toggle source

name に対応するインスタンスが既にあれば真

Args

name

インスタンスの名前(Symbol)

Return

インスタンスかnil

# File lib/instance_storage.rb, line 82
def instance(name)
  instances_dict[name.to_sym] end
instance_exist?(name) click to toggle source

名前 name に対応するインスタンスが存在するか否かを返す

Args

name

インスタンスの名前(Symbol)

Return

インスタンスが存在するなら真

# File lib/instance_storage.rb, line 74
def instance_exist?(name)
  instances_dict.has_key? name.to_sym end
instances() click to toggle source

このクラスのインスタンスを全て返す

Return

インスタンスの配列(Array)

# File lib/instance_storage.rb, line 60
def instances
  instances_dict.values end
instances_dict() click to toggle source
# File lib/instance_storage.rb, line 29
def instances_dict
  @instances ||= {} end
instances_name() click to toggle source

このクラスのインスタンスの名前を全て返す

Return

インスタンスの名前の配列(Array)

# File lib/instance_storage.rb, line 66
def instances_name
  instances_dict.keys end
storage_lock() click to toggle source
# File lib/instance_storage.rb, line 32
def storage_lock
  @storage_lock ||= Mutex.new end