Module: Multiton::MetaMethods
- Includes:
- Inclusive
- Defined in:
- lib/more/facets/multiton.rb
Instance Method Summary collapse
Instance Method Details
#initialized?(*e, &b) ⇒ Boolean
201 202 203 |
# File 'lib/more/facets/multiton.rb', line 201 def initialized?(*e, &b) multiton_instance.key?(multiton_id(*e, &b)) end |
#instance(*e, &b) ⇒ Object Also known as: new
186 187 188 189 190 191 192 193 194 195 196 197 198 |
# File 'lib/more/facets/multiton.rb', line 186 def instance(*e, &b) arg = multiton_id(*e, &b) multiton_instance.fetch(arg) do multiton_mutex[arg].synchronize do multiton_instance.fetch(arg) do val = multiton_instance[arg] = new!(*e, &b) #new(*e, &b) val.instance_variable_set(:@multiton_initializer, e, &b) multiton_mutex.initialized(arg) val end end end end |