Implement basic initializer

This commit is contained in:
2025-09-26 23:39:41 -04:00
parent 62fb94b406
commit 7d3ce5646c
3 changed files with 22 additions and 10 deletions

View File

@@ -5,20 +5,11 @@ require "laradi/railtie"
# require 'dry-auto_inject'
module Laradi
# Your code goes here...
LaradiInject = {}
if method_defined?(:get_di_container)
container = get_di_container
LaradiInject = Dry::AutoInject(container)
end
module Mixin
def dependencies(*deps)
deps.each { |dep|
include LaradiInject[dep]
include $autoinject[dep]
}
end
end

12
lib/laradi/middleware.rb Normal file
View File

@@ -0,0 +1,12 @@
module Laradi
class Middleware
def initialize(app)
@app = app
end
def call(env)
@app.call(env)
end
end
end

View File

@@ -1,4 +1,13 @@
module Laradi
class Railtie < ::Rails::Railtie
initializer "laradi.construct_di_container" do |app|
container = Dry::Core::Container.new
if defined?(config.di_config)
config.di_config.call(container)
end
$autoinject = Dry::AutoInject(container)
end
end
end