Make BlueskyContext accept all objects with a name property as devices#147
Merged
callumforrester merged 1 commit intomainfrom Apr 24, 2023
Merged
Make BlueskyContext accept all objects with a name property as devices#147callumforrester merged 1 commit intomainfrom
callumforrester merged 1 commit intomainfrom
Conversation
Codecov Report
@@ Coverage Diff @@
## main #147 +/- ##
=======================================
Coverage 74.52% 74.52%
=======================================
Files 37 37
Lines 1048 1048
=======================================
Hits 781 781
Misses 267 267
📣 We’re building smart automated test selection to slash your CI/CD build times. Learn more |
DiamondJoseph
approved these changes
Apr 24, 2023
Contributor
DiamondJoseph
left a comment
There was a problem hiding this comment.
Later consideration: should device no longer allow explicitly setting an override name, device.name is the only name it can be registered with, and all devices must be HasName?
Contributor
Author
|
Agreed, made an issue: #148 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Previously, BlueskyContext only accepted objects that conformed to the
ReadableorFlyableprotocols as devices. This is inherited from the days when all devices conformed to these protocols or their inheritors. Now the protocols no longer have an inheritance heirachy and are mixed and matched through multiple inheritance. The only sensible criteria is whether an object has anameproperty. This opens the door to abuse, storing objects that are definitely not devices, but that may be the price to pay for the required flexibility.