feat: implement Parameter DSL with 12 parameter types #313
No reviewers
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 milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference: aethyr/Aethyr#313
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "feature/m1-param-dsl"
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?
Summary
Implementation Details
Files Created
lib/aethyr/core/input_handlers/validation/type_registry.rb- Registry of all 12 parameter types with metadatalib/aethyr/core/input_handlers/validation/param_definition.rb- Immutable value object for parameter declarationslib/aethyr/core/input_handlers/validation/parameter_dsl.rb- DSL module withparamclass method anddeclared_paramsaccessorParameter Types
:string,:integer,:float,:direction,:object,:player,:mobile,:room,:area,:item,:boolean,:enumDSL Options
type- Required parameter typerequired- Whether parameter is required (default: false)default- Default value if not providedin- Scope for object resolution (:room, :inventory, etc.)values- Allowed values for enum typedescription- Human-readable descriptionExample Usage
Test Results
Closes #292
4ebcdda99cto10ea070a1410ea070a14to63e4eccc9c63e4eccc9ctob75e79d80b