lib/dry/auto_inject/strategies/constructor.rb in dry-auto_inject-0.4.1 vs lib/dry/auto_inject/strategies/constructor.rb in dry-auto_inject-0.4.2
- old
+ new
@@ -2,17 +2,11 @@
module Dry
module AutoInject
class Strategies
class Constructor < Module
- ClassMethods = Class.new(Module) do
- def initialize(container)
- super()
- define_method(:container) { container }
- end
- end
-
+ ClassMethods = Class.new(Module)
InstanceMethods = Class.new(Module)
attr_reader :container
attr_reader :dependency_map
attr_reader :instance_mod
@@ -20,18 +14,18 @@
def initialize(container, *dependency_names)
@container = container
@dependency_map = DependencyMap.new(*dependency_names)
@instance_mod = InstanceMethods.new
- @class_mod = ClassMethods.new(container)
+ @class_mod = ClassMethods.new
end
# @api private
def included(klass)
define_readers
- define_new(klass)
+ define_new
define_initialize(klass)
klass.send(:include, instance_mod)
klass.extend(class_mod)
@@ -45,10 +39,10 @@
attr_reader #{dependency_map.names.map { |name| ":#{name}" }.join(', ')}
RUBY
self
end
- def define_new(klass)
+ def define_new
raise NotImplementedError, "must be implemented by a subclass"
end
def define_initialize(klass)
raise NotImplementedError, "must be implemented by a subclass"