From c5d8032e95c2b0409c2289c4943211c82f5ce105 Mon Sep 17 00:00:00 2001 From: Roman Mogylatov Date: Thu, 21 Dec 2017 22:54:44 +0200 Subject: [PATCH] Update docs & examples --- docs/images/providers/dependency.png | Bin 0 -> 42660 bytes docs/images/providers/external_dependency.png | Bin 42273 -> 0 bytes .../{external_dependency.rst => dependency.rst} | 11 +++++------ docs/providers/index.rst | 2 +- .../{external_dependency.py => dependency.py} | 4 ++-- 5 files changed, 8 insertions(+), 9 deletions(-) create mode 100644 docs/images/providers/dependency.png delete mode 100644 docs/images/providers/external_dependency.png rename docs/providers/{external_dependency.rst => dependency.rst} (85%) rename examples/providers/{external_dependency.py => dependency.py} (94%) diff --git a/docs/images/providers/dependency.png b/docs/images/providers/dependency.png new file mode 100644 index 0000000000000000000000000000000000000000..dfd2f149874d8c5d3e391c4b6f52c6f7f8efa494 GIT binary patch literal 42660 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 P?+>Moxk9~kE9k!frZ*Ty literal 0 HcmV?d00001 diff --git a/docs/images/providers/external_dependency.png b/docs/images/providers/external_dependency.png deleted file mode 100644 index bb48881f064943ba2e669680db612bd2b333d973..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 42273 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�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 a?3^6@{`mpJwX5pKmj%16r%|MC9r{0Rf_78@ diff --git a/docs/providers/external_dependency.rst b/docs/providers/dependency.rst similarity index 85% rename from docs/providers/external_dependency.rst rename to docs/providers/dependency.rst index 94c845bb..0833373a 100644 --- a/docs/providers/external_dependency.rst +++ b/docs/providers/dependency.rst @@ -1,9 +1,9 @@ -External dependency providers ------------------------------ +Dependency providers +-------------------- .. currentmodule:: dependency_injector.providers -:py:class:`ExternalDependency` provider can be useful for development of +:py:class:`Dependency` provider can be useful for development of self-sufficient libraries / modules / applications that have required external dependencies. @@ -35,11 +35,10 @@ Example: Instead of this, ``UsersService`` has external dependency, that has to be satisfied by cleint's code, out of library's scope. -.. image:: /images/providers/external_dependency.png +.. image:: /images/providers/dependency.png -.. literalinclude:: ../../examples/providers/external_dependency.py +.. literalinclude:: ../../examples/providers/dependency.py :language: python :linenos: - .. disqus:: diff --git a/docs/providers/index.rst b/docs/providers/index.rst index a4fdc4ab..9889b802 100644 --- a/docs/providers/index.rst +++ b/docs/providers/index.rst @@ -21,6 +21,6 @@ Providers package API docs - :py:mod:`dependency_injector.providers` singleton callable object - external_dependency + dependency overriding custom diff --git a/examples/providers/external_dependency.py b/examples/providers/dependency.py similarity index 94% rename from examples/providers/external_dependency.py rename to examples/providers/dependency.py index 83fee602..142db49a 100644 --- a/examples/providers/external_dependency.py +++ b/examples/providers/dependency.py @@ -1,4 +1,4 @@ -"""`ExternalDependency` providers example.""" +"""`Dependency` providers example.""" import sqlite3 import contextlib @@ -45,7 +45,7 @@ class UsersService(object): # Database and UsersService providers: -database = providers.ExternalDependency(instance_of=sqlite3.dbapi2.Connection) +database = providers.Dependency(instance_of=sqlite3.dbapi2.Connection) users_service_factory = providers.Factory(UsersService, database=database)