From 488cc2e51cefb9c1fcec544278f29e3729935704 Mon Sep 17 00:00:00 2001 From: Roman Mogylatov Date: Sun, 14 Feb 2021 18:43:40 -0500 Subject: [PATCH] Add docs and example --- docs/containers/check_dependencies.rst | 18 ++++++++++++++++++ docs/containers/index.rst | 1 + docs/providers/dependency.rst | 4 ++++ examples/containers/check_dependencies.py | 15 +++++++++++++++ 4 files changed, 38 insertions(+) create mode 100644 docs/containers/check_dependencies.rst create mode 100644 examples/containers/check_dependencies.py diff --git a/docs/containers/check_dependencies.rst b/docs/containers/check_dependencies.rst new file mode 100644 index 00000000..cad25474 --- /dev/null +++ b/docs/containers/check_dependencies.rst @@ -0,0 +1,18 @@ +.. _check-container-dependencies: + +Check container dependencies +---------------------------- + +To check container dependencies use method ``.check_dependencies()``. + +.. literalinclude:: ../../examples/containers/check_dependencies.py + :language: python + :lines: 3- + :emphasize-lines: 12 + +Method ``.check_dependencies()`` raises an error if container has any undefined dependencies. +If all dependencies are provided or have defaults, no error is raised. + +See also: :ref:`dependency-provider`. + +.. disqus:: diff --git a/docs/containers/index.rst b/docs/containers/index.rst index 00f9382c..f014b3c0 100644 --- a/docs/containers/index.rst +++ b/docs/containers/index.rst @@ -24,4 +24,5 @@ Containers module API docs - :py:mod:`dependency_injector.containers`. specialization overriding reset_singletons + check_dependencies traversal diff --git a/docs/providers/dependency.rst b/docs/providers/dependency.rst index 4436b577..6b9c6897 100644 --- a/docs/providers/dependency.rst +++ b/docs/providers/dependency.rst @@ -1,3 +1,5 @@ +.. _dependency-provider: + Dependency provider =================== @@ -31,4 +33,6 @@ dependency provider will wrap it into the ``Object`` provider. :lines: 16-23 :emphasize-lines: 3 +See also: :ref:`check-container-dependencies`. + .. disqus:: diff --git a/examples/containers/check_dependencies.py b/examples/containers/check_dependencies.py new file mode 100644 index 00000000..f9d1bac2 --- /dev/null +++ b/examples/containers/check_dependencies.py @@ -0,0 +1,15 @@ +"""Container dependencies check example.""" + +from dependency_injector import containers, providers + + +class Container(containers.DeclarativeContainer): + + service1 = providers.Dependency() + service2 = providers.Dependency() + + +if __name__ == '__main__': + container = Container() + container.check_dependencies() # <-- raises error: + # Container has undefined dependencies: "Container.service1", "Container.service2"