1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
|
module Zeitwerk::Registry
class Loaders # :nodoc:
#: () -> void
def initialize
@loaders = [] #: Array[Zeitwerk::Loader]
end
#: ({ (Zeitwerk::Loader) -> void }) -> void
def each(&block)
@loaders.each(&block)
end
#: (Zeitwerk::Loader) -> void
def register(loader)
@loaders << loader
end
#: (Zeitwerk::Loader) -> Zeitwerk::Loader?
def unregister(loader)
@loaders.delete(loader)
end
#: (Zeitwerk::Loader) -> bool
def registered?(loader) # for tests
@loaders.include?(loader)
end
#: () -> void
def clear # for tests
@loaders.clear
end
end
end
|