-
Notifications
You must be signed in to change notification settings - Fork 0
Closed
Labels
enhancementNew feature or requestNew feature or requestproviderRuntime provider implementationRuntime provider implementation
Description
Add Ruby runtime provider to dtvem for managing Ruby versions.
Current State
Empty directory exists at src/runtimes/ruby/ but no implementation.
Remaining Work
Core Implementation
- Create
src/runtimes/ruby/provider.gowith all 19Providerinterface methods - Add
init()function for auto-registration:runtime.Register(NewProvider()) - Import in
src/main.go:_ "github.com/CodingWithCalvin/dtvem/src/runtimes/ruby" - Update
schemas/runtimes.schema.jsonto add "ruby" to runtime enum
Provider Methods
- Implement
Shims()to return:["ruby", "gem", "irb", "bundle", "rake", "rdoc", "ri"] - Implement
ShouldReshimAfter()forgem install/uninstallandbundle install/update - Implement version listing from ruby-lang.org
- Implement download/installation logic (platform-specific)
- Implement migration detection for rbenv, rvm, chruby, system
Testing & Documentation
- Add tests using provider contract harness
- Update documentation with Ruby examples
Version Sources
- Official: https://www.ruby-lang.org/en/downloads/
- Windows: RubyInstaller (https://rubyinstaller.org/)
Migration Sources
- rbenv:
~/.rbenv/versions/ - rvm:
~/.rvm/rubies/ - chruby:
/opt/rubies/or~/.rubies/
References
- Provider interface:
src/internal/runtime/provider.go - Example implementations:
src/runtimes/node/,src/runtimes/python/
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or requestproviderRuntime provider implementationRuntime provider implementation