Module: InstanceStorage::InstanceStorageExtend

Defined in:
lib/instance_storage.rb

Instance Method Summary collapse

Instance Method Details

#[](name) ⇒ Object

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

Args

name

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

Return

Event



38
39
40
41
42
43
44
45
46
47
# File 'lib/instance_storage.rb', line 38

def [](name)
      name_sym = name.to_sym
      if @instances.has_key?(name_sym)
        @instances[name_sym]
      else
        @storage_lock.synchronize{
          if @instances.has_key?(name_sym)
@instances[name_sym]
          else
@instances[name_sym] = self.new(name_sym) end } end end

#clear!Object

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



29
30
31
# File 'lib/instance_storage.rb', line 29

def clear!
@instances = {}
@storage_lock = Mutex.new end

#destroy(name) ⇒ Object



77
78
# File 'lib/instance_storage.rb', line 77

def destroy(name)
@instances.delete(name.to_sym) end

#instance(name) ⇒ Object

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

Args

name

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

Return

インスタンスかnil



74
75
# File 'lib/instance_storage.rb', line 74

def instance(name)
@instances[name.to_sym] end

#instance_exist?(name) ⇒ Boolean

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

Args

name

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

Return

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

Returns:

  • (Boolean)


66
67
# File 'lib/instance_storage.rb', line 66

def instance_exist?(name)
@instances.has_key? name.to_sym end

#instancesObject

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

Return

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



52
53
# File 'lib/instance_storage.rb', line 52

def instances
@instances.values end

#instances_nameObject

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

Return

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



58
59
# File 'lib/instance_storage.rb', line 58

def instances_name
@instances.keys end