Comments (6)
Thanks for bringing this up, @mheffner. Initially, I did an RVM codebase dive to find the version string recognition and it was way more complicated than I expected. Basically a massive hunk of if/elsif constructs. As a result, my quicker-but-stricter implementation is in ruby_string_sane?() and ruby_known?()
When I started this cookbook I was trying to reduce the chances of a failed execution due to invalid user input (i.e. a bad or misspelled ruby string). I've been starting to rethink that position lately, since lots can go wrong in a chef execution given bad attribute metadata.
What do you think the metadata approach should be: a fail-fast (but more inflexible) or the unix chainsaw (anything you want, at your own peril)?
from rvm.
Personally I'm never a fan of duplicating validation logic, especially if the duplicate could contain bugs or become stale in reference to the canonical version. Therefore, as long as the error message from RVM when a bad ruby name is entered is clear enough, I would not duplicate the validation logic in chef-rvm that RVM is already doing.
from rvm.
+1
from rvm.
I'm almost finished a refactoring which should support the arbitrary RVM ruby strings that the CLI accepts. I'll update this issue when it's complete for some verification.
from rvm.
All done now. All resources that use rvm/ruby strings should support all the native RVM string forms like '1.8.7'
, '1.8.7-p352'
, 'ree'
, etc.
All the strings now get "normalized" through a Chef::RVM::StringCache class that uses RVM directly.
from rvm.
This thread has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs.
from rvm.
Related Issues (20)
- user::install only supports one user HOT 1
- Is this project dead? HOT 7
- Deprecated Features HOT 2
- cannot load such file -- chef/mixin/command HOT 6
- gem_package recipe breaks chef_gem HOT 1
- Chef 12.17.5: could not find filename for attribute .gitkeep in cookbook rvm HOT 1
- How do you use this with chef solo? HOT 1
- Use --no-document instead of --no-rdoc --no-ri HOT 5
- Compatibility with Ubuntu 18.04 HOT 4
- Dangerfile should use failure instead of fail
- Remove .rubocop.yml with Dangerfile
- Update Changelog
- Run latest cookstyle
- Update builds to be parallel
- Could not parse `-/metadata.rb': undefined method `chef_version' HOT 2
- Support Modern Operating systems and have working dokken
- Error: cannot load such file -- rvm HOT 7
- rvm Chef 17 compatibility
- No resource, method, or local variable named `create_rvm_shell_chef_wrapper' for `Chef::Recipe "default"' HOT 2
- Dependency Dashboard
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from rvm.