Implement basic initializer
This commit is contained in:
@@ -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
12
lib/laradi/middleware.rb
Normal file
@@ -0,0 +1,12 @@
|
||||
module Laradi
|
||||
class Middleware
|
||||
|
||||
def initialize(app)
|
||||
@app = app
|
||||
end
|
||||
|
||||
def call(env)
|
||||
@app.call(env)
|
||||
end
|
||||
end
|
||||
end
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user