Allow subclassing from missing dependency #28
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Fixes #27
This PR adds an implementation of
__mro_entries__
toFakeModule
. This method returns a "FakeBaseClass" class whose__init__
(and__new__
, for good measure) trigger aMissingOptionalDependency
exception. In this way, subclasses from missing dependencies can be created, but will fail as soon as they're initialized. See the unit test.Note: overriding
__init__
might not be necessary but I don't see downsides of doing so right now. Let me know if you prefer to stick to__new__
only.