-
Notifications
You must be signed in to change notification settings - Fork 0
Closed
Labels
enhancementNew feature or requestNew feature or request
Description
Blocked By
- refactor(migration): plugin-style architecture for version manager migration providers #128 - Plugin-style architecture for version manager migration providers
Description
Add detection for uru, a lightweight Ruby version manager for Windows, to the migration provider system.
Currently, the migration system detects:
- System PATH (via
LookPathExcludingShims) - rbenv (Unix)
- rvm (Unix)
- chruby (Unix)
Windows users who use uru for Ruby version management are not detected.
What is uru?
uru is a lightweight, multi-platform Ruby version manager that works on Windows, Linux, and macOS. On Windows, it's one of the few options for managing multiple Ruby versions.
uru stores its configuration and managed Ruby paths in ~/.uru/.
Proposed Changes
Once #128 is implemented, create a new migration provider for uru:
- Create
src/migrations/uru/provider.go - Implement the
MigrationProviderinterface - Check for
~/.urudirectory - Parse uru's configuration to find managed Ruby paths
- Return detected versions with source label
"uru"
Acceptance Criteria
- Wait for refactor(migration): plugin-style architecture for version manager migration providers #128 (migration provider refactor) to be completed
- Research uru's configuration format and directory structure
- Create
src/migrations/uru/provider.goimplementingMigrationProvider - Add import to
src/main.go - Add unit tests for uru detection
- Test on Windows with an actual uru installation (if possible)
Files Affected
src/migrations/uru/provider.go(new)src/migrations/uru/provider_test.go(new)src/main.go(add import)
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or request