diff --git a/docs/images/providers/overriding_simple.png b/docs/images/providers/overriding_simple.png index 8e861f45..a3d949da 100644 Binary files a/docs/images/providers/overriding_simple.png and b/docs/images/providers/overriding_simple.png differ diff --git a/docs/images/providers/overriding_users_model.png b/docs/images/providers/overriding_users_model.png index 6e3dbf42..f2763621 100644 Binary files a/docs/images/providers/overriding_users_model.png and b/docs/images/providers/overriding_users_model.png differ diff --git a/docs/providers/overriding.rst b/docs/providers/overriding.rst index d3910cce..17c887d3 100644 --- a/docs/providers/overriding.rst +++ b/docs/providers/overriding.rst @@ -11,25 +11,25 @@ compatible one, without chaning your previously written code. Provider overriding functionality has such interface: -.. image:: /images/provider_override.png +.. image:: /images/providers/provider_override.png :width: 45% :align: center -+ ``Provider.override()`` - takes another provider that will be used instead of - current provider. This method could be called several times. In such case, - last passed provider would be used as overriding one. -+ ``Provider.reset_override()`` - resets all overriding providers. Provider ++ ``di.Provider.override()`` - takes another provider that will be used + instead of current provider. This method could be called several times. + In such case, last passed provider would be used as overriding one. ++ ``di.Provider.reset_override()`` - resets all overriding providers. Provider starts to behave itself like usual. -+ ``Provider.is_overridden`` - bool, ``True`` if provider is overridden. ++ ``di.Provider.is_overridden`` - bool, ``True`` if provider is overridden. .. note:: Actually, initial provider forms stack from overriding providers. There is some, not so common, but still usefull, functionality that could be used: - + ``Provider.last_overriding`` - always keeps reference to last overriding - provider. - + ``Provider.reset_last_overriding()`` - remove last overriding provider + + ``di.Provider.last_overriding`` - always keeps reference to last + overriding provider. + + ``di.Provider.reset_last_overriding()`` - remove last overriding provider from stack of overriding providers. Example: diff --git a/examples/providers/overriding_simple.py b/examples/providers/overriding_simple.py index 31e659c0..d325acdb 100644 --- a/examples/providers/overriding_simple.py +++ b/examples/providers/overriding_simple.py @@ -1,6 +1,6 @@ """Simple providers overriding example.""" -from dependency_injector.providers import Factory +import dependency_injector as di class User(object): @@ -8,7 +8,7 @@ class User(object): """Example class User.""" # Users factory: -users_factory = Factory(User) +users_factory = di.Factory(User) # Creating several User objects: user1 = users_factory() @@ -25,7 +25,7 @@ class SuperUser(User): """Example class SuperUser.""" # Overriding users factory: -users_factory.override(Factory(SuperUser)) +users_factory.override(di.Factory(SuperUser)) # Creating some more User objects using overridden users factory: user3 = users_factory() diff --git a/examples/providers/overriding_users_model.py b/examples/providers/overriding_users_model.py index f2c6e367..688b259f 100644 --- a/examples/providers/overriding_users_model.py +++ b/examples/providers/overriding_users_model.py @@ -1,7 +1,6 @@ """Overriding user's model example.""" -from dependency_injector.providers import Factory -from dependency_injector.injections import KwArg +import dependency_injector as di class User(object): @@ -29,8 +28,8 @@ class UserService(object): return self.user_cls(id=id, password='secret' + str(id)) # Users factory and UserService provider: -users_service = Factory(UserService, - KwArg('user_cls', User)) +users_service = di.Factory(UserService, + user_cls=User) # Getting several users and making some asserts: user1 = users_service().get_by_id(1) @@ -76,8 +75,8 @@ class ExtendedUserService(UserService): return user # Overriding users_service provider: -extended_users_service = Factory(ExtendedUserService, - KwArg('user_cls', ExtendedUser)) +extended_users_service = di.Factory(ExtendedUserService, + user_cls=ExtendedUser) users_service.override(extended_users_service) # Getting few other users users and making some asserts: