Implement basic initializer
This commit is contained in:
@@ -5,20 +5,11 @@ require "laradi/railtie"
|
|||||||
# require 'dry-auto_inject'
|
# require 'dry-auto_inject'
|
||||||
|
|
||||||
module Laradi
|
module Laradi
|
||||||
# Your code goes here...
|
|
||||||
|
|
||||||
LaradiInject = {}
|
|
||||||
|
|
||||||
if method_defined?(:get_di_container)
|
|
||||||
container = get_di_container
|
|
||||||
|
|
||||||
LaradiInject = Dry::AutoInject(container)
|
|
||||||
end
|
|
||||||
|
|
||||||
module Mixin
|
module Mixin
|
||||||
def dependencies(*deps)
|
def dependencies(*deps)
|
||||||
deps.each { |dep|
|
deps.each { |dep|
|
||||||
include LaradiInject[dep]
|
include $autoinject[dep]
|
||||||
}
|
}
|
||||||
end
|
end
|
||||||
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
|
module Laradi
|
||||||
class Railtie < ::Rails::Railtie
|
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
|
||||||
end
|
end
|
||||||
|
|||||||
Reference in New Issue
Block a user