Update factory and callable provider doc blocks

This commit is contained in:
Roman Mogilatov 2016-05-22 14:57:25 +03:00
parent 075e1bcf4f
commit d9aac553c5
2 changed files with 39 additions and 6 deletions

View File

@ -19,9 +19,21 @@ class Callable(Provider):
.. code-block:: python .. code-block:: python
some_function = Callable(some_function,
'positional_arg1', 'positional_arg2',
keyword_argument1=3, keyword_argument=4)
# or
some_function = Callable(some_function) \ some_function = Callable(some_function) \
.args('arg1', 'arg2') \ .args('positional_arg1', 'positional_arg2') \
.kwargs(arg3=3, arg4=4) .kwargs(keyword_argument1=3, keyword_argument=4)
# or
some_function = Callable(some_function)
some_function.args('positional_arg1', 'positional_arg2')
some_function.kwargs(keyword_argument1=3, keyword_argument=4)
""" """
__slots__ = ('_provides', '_args', '_kwargs') __slots__ = ('_provides', '_args', '_kwargs')

View File

@ -12,14 +12,35 @@ class Factory(Callable):
r""":py:class:`Factory` provider creates new instance on every call. r""":py:class:`Factory` provider creates new instance on every call.
:py:class:`Factory` supports positional & keyword argument injections, :py:class:`Factory` supports positional & keyword argument injections,
as well as attribute injections: as well as attribute injections.
Positional and keyword argument injections could be defined like this:
.. code-block:: python
factory = Factory(SomeClass,
'positional_arg1', 'positional_arg2',
keyword_argument1=3, keyword_argument=4)
# or
factory = Factory(SomeClass) \
.args('positional_arg1', 'positional_arg2') \
.kwargs(keyword_argument1=3, keyword_argument=4)
# or
factory = Factory(SomeClass)
factory.args('positional_arg1', 'positional_arg2')
factory.kwargs(keyword_argument1=3, keyword_argument=4)
Attribute injections are defined by using :py:meth:`Factory.attributes`:
.. code-block:: python .. code-block:: python
factory = Factory(SomeClass) \ factory = Factory(SomeClass) \
.args('arg1', 'arg2') \ .attributes(attribute1=1, attribute2=2)
.kwargs(arg3=3, arg4=4) \
.attributes(attribute1=5, attribute2=6)
Retrieving of provided instance can be performed via calling Retrieving of provided instance can be performed via calling
:py:class:`Factory` object: :py:class:`Factory` object: