class Dry::System::ManualRegistrar
Default manual registration implementation
This is currently configured by default for every System::Container
. Manual registrar objects are responsible for loading files from configured manual registration paths, which should hold code to explicitly register certain objects with the container.
@api private
Attributes
config[R]
container[R]
Public Class Methods
new(container)
click to toggle source
# File lib/dry/system/manual_registrar.rb, line 20 def initialize(container) @container = container @config = container.config end
Public Instance Methods
call(component)
click to toggle source
@api private
# File lib/dry/system/manual_registrar.rb, line 33 def call(component) require(root.join(config.registrations_dir, component.root_key.to_s)) end
file_exists?(component)
click to toggle source
# File lib/dry/system/manual_registrar.rb, line 37 def file_exists?(component) File.exist?(File.join(registrations_dir, "#{component.root_key}#{RB_EXT}")) end
finalize!()
click to toggle source
@api private
# File lib/dry/system/manual_registrar.rb, line 26 def finalize! ::Dir[registrations_dir.join(RB_GLOB)].sort.each do |file| call(File.basename(file, RB_EXT)) end end
Private Instance Methods
registrations_dir()
click to toggle source
@api private
# File lib/dry/system/manual_registrar.rb, line 44 def registrations_dir root.join(config.registrations_dir) end
root()
click to toggle source
@api private
# File lib/dry/system/manual_registrar.rb, line 49 def root container.root end