python-dependency-injector/docs/providers/static.rst

43 lines
1008 B
ReStructuredText
Raw Normal View History

2015-06-16 10:37:57 +03:00
Static providers
----------------
Static providers are family of providers that return their values "as is".
There are four types of static providers:
- ``Class``
- ``Object``
- ``Function``
- ``Value``
All of them have the same behaviour, but usage of anyone is predicted by
readability and providing object's type.
Example:
.. code-block:: python
"""`Static` providers example."""
from objects.providers import Class
from objects.providers import Object
from objects.providers import Function
from objects.providers import Value
# Provides class - `object`
cls_provider = Class(object)
assert cls_provider() is object
# Provides object - `object()`
object_provider = Object(object())
assert isinstance(object_provider(), object)
# Provides function - `len`
function_provider = Function(len)
assert function_provider() is len
# Provides value - `123`
value_provider = Value(123)
assert value_provider() == 123