module Riffer::Providers::Repository
rbs_inline: enabled
Constants
- REPO
-
@rbs @registrations: Hash[Symbol, ^() -> singleton(
Riffer::Providers::Base)] @rbs @key_for: Hash[singleton(Riffer::Providers::Base), Symbol]?
Public Instance Methods
Source
# File lib/riffer/providers/repository.rb, line 40 def find(identifier) key = identifier.to_sym (@registrations[key] || REPO[key])&.call end
Source
# File lib/riffer/providers/repository.rb, line 47 def key_for(provider_class) (@key_for ||= build_key_index)[provider_class] end
Source
# File lib/riffer/providers/repository.rb, line 26 def register(identifier, &factory) @registrations[identifier.to_sym] = factory @key_for = nil end
Not synchronized — register during boot, before concurrent generation begins.
Source
# File lib/riffer/providers/repository.rb, line 33 def unregister(identifier) @registrations.delete(identifier.to_sym) @key_for = nil end