From f8648adaf7bf482ff84e02a2c6817bfcf6c335e6 Mon Sep 17 00:00:00 2001 From: Roman Mogylatov Date: Wed, 2 Sep 2020 16:59:25 -0400 Subject: [PATCH] Update providers overriding documentation and rework examples --- docs/images/providers/provider_override.png | Bin 10550 -> 0 bytes docs/main/changelog.rst | 4 + docs/providers/images/overriding.png | Bin 0 -> 13239 bytes docs/providers/overriding.rst | 56 +++++------ examples/providers/overriding.py | 42 ++++++++ examples/providers/overriding_simple.py | 36 ------- examples/providers/overriding_users_model.py | 95 ------------------- 7 files changed, 71 insertions(+), 162 deletions(-) delete mode 100644 docs/images/providers/provider_override.png create mode 100644 docs/providers/images/overriding.png create mode 100644 examples/providers/overriding.py delete mode 100644 examples/providers/overriding_simple.py delete mode 100644 examples/providers/overriding_users_model.py diff --git a/docs/images/providers/provider_override.png b/docs/images/providers/provider_override.png deleted file mode 100644 index 00549da87f7d3de36f85eed4a855931dbf55cfda..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10550 zcmcI}1yEewwk8BZupbBzXo3U_60C8D;Ly+zoW?u2y9TF$K#)KqjVEYucS{-z&_K}O zB)A3-Y4r6!b8BYa)O%I;PTe_mPVKYzT5H?c-;%RpUumlRMfj8u3k&NnHC06&EUX7W z%tMEdgK1fnvnIn7xOQ@2IV`NYB%&MWLrfjpOGiZ>t9p!X7gJ%hQq=)tVFj{bVTHl4 zu&yvoVLMn@KA2wiEU~a85Lj5$?m6w+QW(PAD-AuR`}_OV)z$Fua7=@uq9Pm)-`m^c z<>iGyAiTT`O-=r*tErQd@o@NSFc^G&eSLplPE3rCxn^f)&(8}UJa}Mdr$|Odq^QVK zROG_P_pG78ucE@^`nnVVAd`{dgg_)28K2bF`t0rH6c@Yp^+mY4s)dIe93SWR_4O4O z7oVS>0{{S5SJ%nO$)=_z6beO2Nr{7l!^=V0l=o`2_w{6p+5M`=^`cu}g+cLqH3*m; z9wv7_ED8Iyx{4y!+lTb3 zm^UQ;SbHSovNWB$QWc*QE$pfQZ8z5U@)^z176?egl;D}-RX z*ts9BNzv%cr0l^rK*5MYs7fvP?cHfohfwq6GmK2ya3- z@FKtCsr)Nh?NF$9nkAs;}X|OT?v0 z(%ZWiJgYs6cV-Xp&qxAxp4!}@`9hhlXz_6jex9zZbgo==IpLql?3$XbKECA%jsjZR zEbtV#Tz-lG9%T_-5ko)knNG1|xVPi*kzq6Z2?!pGILx?NW3yV7OsH!-WLQ%e(2|Fd z*oX)pXZFE=uD-TFdUt%Mb=_5HSzH~Lj}B?Mu01#tY5V0%U)W*QaB-*(DDV-jn#vyE zqtbRe%snfQaxJEIa+=>Bcp8|U{>hAaaOc;YbMQ5J$&B$O{vjVnvmtb$%D`@Znx3Suy_!-a%NcNxTerE9Q(UCGq^&Vl(dR>dDkxUd)8*KMTxIi zr9QR%Mc){=5E+M`_`&)jE^*!j|BRt8aQ{V~L99VJ>JQs^~<_(IThUDft{w7~OI zv+<0t-u`-xPSp{#Sq5!>csH|jMZy@br)InDd3iQ6+l8J>kM&c$>>_cyqxa+grDlH= z(XJP~aTv-RcrY>;!*1UE+~!e|`LSVIY?8!DobJZ&6#m5O8taegki5JForZJpj&x6Q zk=LkGtH5&_k3Sbn@7@;?3Ph^YR_Ra96oR*#dpTDuhHwB<>dj%l7`&hOK07`wGI45F zN@-0IJ6nDxJmBnX;#CzYcNt8RX2v90tWIs);3`=!$h*g!^_}PX$TvjU@cSUGea19T z$zXHkPP!y&+0XlV*PHg%$%zrkm8AOaUlcV*@+m&lWpAhk4hYWfrH`7_Z&9mgwbT8( zx~ySM#O|ejWSZ!`{LSvyH8!oezsy=g7rVcseVJ97HBGO{0az=Q#JN_c$a|F046k z;2z|fT3&5&I#3(Cuo<@)mT&eHEKH)$TUgUrE6b3o-lqoh1!xEyPq@NpguSf8D;zm_ zsa$KS-!!NDZwNN?9+gS9yPd=v@SqBdR;treef;A8B6XS1{qAdGJ<&{u-8luO>E}-g zD-%Vlwssv{EV#)5<`bl;U`5;$NAm&S_EZQpCnvqwP{q?!h9XD#fzsx! K{C4*Wo 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 E2N{cq3;+NC diff --git a/docs/main/changelog.rst b/docs/main/changelog.rst index 2d5c5780..2170edba 100644 --- a/docs/main/changelog.rst +++ b/docs/main/changelog.rst @@ -7,6 +7,10 @@ that were made in every particular version. From version 0.7.6 *Dependency Injector* framework strictly follows `Semantic versioning`_ +Development version +------------------- +- Update providers overriding documentation and rework examples. + 3.35.1 ------ - Fix minor issues in the providers documentation and examples. diff --git a/docs/providers/images/overriding.png b/docs/providers/images/overriding.png new file mode 100644 index 0000000000000000000000000000000000000000..6400c70982e9115879c669d9d9777960a7693247 GIT binary patch literal 13239 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 e>ktrh?S^;MUw61qe#T!N)AF>