Module: InstanceStorage::InstanceStorageExtend
- Defined in:
- lib/instance_storage.rb
Instance Method Summary collapse
-
#[](name) ⇒ Object
インスタンス event_name を返す。既に有る場合はそのインスタンス、ない場合は新しく作って返す。 ==== Args [name] インスタンスの名前(Symbol) ==== Return Event.
-
#clear! ⇒ Object
定義されているインスタンスを全て削除する.
- #destroy(name) ⇒ Object
-
#instance(name) ⇒ Object
name に対応するインスタンスが既にあれば真 ==== Args [name] インスタンスの名前(Symbol) ==== Return インスタンスかnil.
-
#instance_exist?(name) ⇒ Boolean
名前 name に対応するインスタンスが存在するか否かを返す ==== Args [name] インスタンスの名前(Symbol) ==== Return インスタンスが存在するなら真.
-
#instances ⇒ Object
このクラスのインスタンスを全て返す ==== Return インスタンスの配列(Array).
-
#instances_name ⇒ Object
このクラスのインスタンスの名前を全て返す ==== Return インスタンスの名前の配列(Array).
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
インスタンスが存在するなら真
66 67 |
# File 'lib/instance_storage.rb', line 66 def instance_exist?(name) @instances.has_key? name.to_sym end |
#instances ⇒ Object
このクラスのインスタンスを全て返す
Return
インスタンスの配列(Array)
52 53 |
# File 'lib/instance_storage.rb', line 52 def instances @instances.values end |
#instances_name ⇒ Object
このクラスのインスタンスの名前を全て返す
Return
インスタンスの名前の配列(Array)
58 59 |
# File 'lib/instance_storage.rb', line 58 def instances_name @instances.keys end |