Implement RouteEntry data model and CommandRouter.register API #100
Labels
No labels
Blocked
Duplicate
MoSCoW/Could Have
MoSCoW/Must Have
MoSCoW/Should Have
Points/1
Points/13
Points/2
Points/21
Points/3
Points/5
Points/8
Priority/Backlog
Priority/Critical
Priority/High
Priority/Low
Priority/Medium
State/Completed
State/In progress
State/In review
State/Paused
State/Unverified
State/Verified
State/Wont Do
Type/Bug
Type/Epic
Type/Feature
Type/Legendary
Type/Task
Type/Testing
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Blocks
#98 Epic: Trie-based Command Dispatch Router
aethyr/Aethyr
Reference: aethyr/Aethyr#100
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Metadata
feat(dispatch): implement RouteEntry and CommandRouter.registerfeature/m1-command-routerBackground and Context
RouteEntryencapsulates a command registration: the action class, priority, requiredpermission level, and metadata.
CommandRouter.registeris the public API for addingcommands to the trie.
Expected Behavior
RouteEntrystoresaction_class,priority,min_permission, andmetadataCommandRouter.register(keyword, action_class, **opts)inserts into the trieAcceptance Criteria
RouteEntrydata class with accessorsCommandRoutersingleton withregistermethodSubtasks
Definition of Done
This issue is complete when:
Commit Message in Metadata exactly.
master, reviewed, and merged.Implementation Notes
Design Decisions
**optswith DEFAULTS constant to keep parameter lists under rubocop limitsCode Locations
Aethyr::Core::Commands::RouteEntryinlib/aethyr/core/commands/route_entry.rbAethyr::Core::Commands::CommandRouterinlib/aethyr/core/commands/command_router.rbTest Results