mirror of
https://github.com/ets-labs/python-dependency-injector.git
synced 2025-07-05 04:43:30 +03:00
Restore Callable positional & keyword argument injections via __init__(*args, **kwargs)
This commit is contained in:
parent
a0b8b11a91
commit
44d0555778
|
@ -26,7 +26,7 @@ class Callable(Provider):
|
||||||
|
|
||||||
__slots__ = ('_provides', '_args', '_kwargs')
|
__slots__ = ('_provides', '_args', '_kwargs')
|
||||||
|
|
||||||
def __init__(self, provides):
|
def __init__(self, provides, *args, **kwargs):
|
||||||
"""Initializer.
|
"""Initializer.
|
||||||
|
|
||||||
:param provides: Wrapped callable.
|
:param provides: Wrapped callable.
|
||||||
|
@ -42,6 +42,9 @@ class Callable(Provider):
|
||||||
self._args = tuple()
|
self._args = tuple()
|
||||||
self._kwargs = tuple()
|
self._kwargs = tuple()
|
||||||
|
|
||||||
|
self.args(*args)
|
||||||
|
self.kwargs(**kwargs)
|
||||||
|
|
||||||
super(Callable, self).__init__()
|
super(Callable, self).__init__()
|
||||||
|
|
||||||
@property
|
@property
|
||||||
|
|
|
@ -49,7 +49,7 @@ class Factory(Callable):
|
||||||
|
|
||||||
__slots__ = ('cls', '_attributes')
|
__slots__ = ('cls', '_attributes')
|
||||||
|
|
||||||
def __init__(self, provides):
|
def __init__(self, provides, *args, **kwargs):
|
||||||
"""Initializer.
|
"""Initializer.
|
||||||
|
|
||||||
:param provides: Class or other callable that provides object
|
:param provides: Class or other callable that provides object
|
||||||
|
@ -63,7 +63,7 @@ class Factory(Callable):
|
||||||
|
|
||||||
self._attributes = tuple()
|
self._attributes = tuple()
|
||||||
|
|
||||||
super(Factory, self).__init__(provides)
|
super(Factory, self).__init__(provides, *args, **kwargs)
|
||||||
|
|
||||||
self.cls = self._provides
|
self.cls = self._provides
|
||||||
|
|
||||||
|
@ -174,7 +174,7 @@ class Singleton(Factory):
|
||||||
|
|
||||||
__slots__ = ('_instance',)
|
__slots__ = ('_instance',)
|
||||||
|
|
||||||
def __init__(self, provides):
|
def __init__(self, provides, *args, **kwargs):
|
||||||
"""Initializer.
|
"""Initializer.
|
||||||
|
|
||||||
:param provides: Class or other callable that provides object
|
:param provides: Class or other callable that provides object
|
||||||
|
@ -182,7 +182,7 @@ class Singleton(Factory):
|
||||||
:type provides: type | callable
|
:type provides: type | callable
|
||||||
"""
|
"""
|
||||||
self._instance = None
|
self._instance = None
|
||||||
super(Singleton, self).__init__(provides)
|
super(Singleton, self).__init__(provides, *args, **kwargs)
|
||||||
|
|
||||||
def reset(self):
|
def reset(self):
|
||||||
"""Reset cached instance, if any.
|
"""Reset cached instance, if any.
|
||||||
|
|
Loading…
Reference in New Issue
Block a user