-
Notifications
You must be signed in to change notification settings - Fork 2
Labels
enhancementNew feature or requestNew feature or request
Description
Feature Request
Description
Propose to change connectors() to be an S7 object, for the following reasons:
- Adding attributes (datasources and metadata) as read-only properties to an S7 object will safeguard against overwriting them.
- More robust method dispatch if any other functionality needs to work with the
connectorsobject. - Accessing e.g. metadata is easier with
cnts@metadatathan with a helper function. Consider to keep helper functions if existing solutions rely on them. - All existing use with e.g.
cnts$my_connectorwill still work.
Proposed Solution
- Create new
connectors()S7 class - Parent class to be
S7::class_list - The object it self will therefore still be a list of
Connectorobjects, meaning the interface for the users will stay the same. - Implement setter functions for
metadataanddatasourcesproperties to make sure they are read-only. - Update utility functions if needed (and delete them if no longer relevant).
- Update
connect()as needed to implement this as well.
Impact
No impact on general use of connector(s). Only change for users is if we decide to change the API in some of the helper functions around metadata or datasources.
Related Issues
Easier dispatch on connectors might be useful as an alternative to #134 in downstream packages implementing business logic.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or request