From c56cb70a24b076e188b02badb6adbb131cecc0b3 Mon Sep 17 00:00:00 2001 From: Roman Mogilatov Date: Wed, 24 Jun 2015 12:29:58 +0300 Subject: [PATCH] Adding images for singleton docs --- docs/images/singleton.png | Bin 0 -> 9899 bytes docs/images/singleton_internals.png | Bin 0 -> 11572 bytes docs/providers/singleton.rst | 6 ++++++ 3 files changed, 6 insertions(+) create mode 100644 docs/images/singleton.png create mode 100644 docs/images/singleton_internals.png diff --git a/docs/images/singleton.png b/docs/images/singleton.png new file mode 100644 index 0000000000000000000000000000000000000000..0fc8ae7f84ecc9474ebd500f2f29a62a76b161d5 GIT binary patch literal 9899 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 A1^@s6 literal 0 HcmV?d00001 diff --git a/docs/images/singleton_internals.png b/docs/images/singleton_internals.png new file mode 100644 index 0000000000000000000000000000000000000000..3bb058282036e268ed770502f0d487525c181f3c GIT binary patch literal 11572 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 LDpKVVppgFo`2!qx literal 0 HcmV?d00001 diff --git a/docs/providers/singleton.rst b/docs/providers/singleton.rst index ab978b23..e3a18b76 100644 --- a/docs/providers/singleton.rst +++ b/docs/providers/singleton.rst @@ -4,6 +4,10 @@ Singleton providers ``Singleton`` provider creates new instance of specified class on first call and returns same instance on every next call. +Example: + +.. image:: /images/singleton.png + .. code-block:: python """`Singleton` providers example.""" @@ -37,6 +41,8 @@ Singleton providers and injections specified class instance, so, all of the rules about injections are the same, as for ``Factory`` providers. +.. image:: /images/singleton_internals.png + .. note:: Due that ``Singleton`` provider creates specified class instance only on