class Dio::InjectorStore
@api private InjectorStore
manages Dio::Injector
instances.
Public Class Methods
new(injectors = {})
click to toggle source
# File lib/dio/injector_store.rb, line 9 def initialize(injectors = {}) @injectors = injectors end
Public Instance Methods
ids()
click to toggle source
# File lib/dio/injector_store.rb, line 34 def ids @injectors.keys end
load(id)
click to toggle source
# File lib/dio/injector_store.rb, line 26 def load(id) @injectors[id] end
register(id, injector = nil)
click to toggle source
# File lib/dio/injector_store.rb, line 13 def register(id, injector = nil) if @injectors.key?(id) injector ||= @injectors[id] if injector != @injectors[id] raise "Injector ID #{id} is already used for another injector" end elsif injector.nil? injector = Dio::Injector.new end @injectors[id] = injector end
remove(id)
click to toggle source
# File lib/dio/injector_store.rb, line 30 def remove(id) @injectors.remove(id) end