From: Hugh Sasse Date: 2005-09-22T19:46:48+09:00 Subject: Re: RubyGems TODO On Thu, 22 Sep 2005, Brian Mitchell wrote: > On 9/21/05, Austin Ziegler wrote: >> 3. Eliminate case-sensitivity. Having a Usage gem or a RedCloth gem is >> confusing. At the same time, I will also acknowledge that there's a > > I strongly disagree on this point. It is common for many filesystems > to have case-insensitivity and the other way around. I think the > solution is to encourage a specific naming scheme that is only a I'd supplement that with more intelligent failure, but failure nonetheless [cf PragProg axiom "Crash Early"]: require "Deadpeople" "Deadpeople" not found, but I see "DeadPeople", at line . > > There are people who are annoyed by small things like this but it > comes down to the authors decision. However, there is a feature that > could remedy some of this pain: why not support intelligent aliases? > One could alias a specific gem to a new name that may or may not > specify a version. The cool effect is being able to configure a little > more agilely. Imagine two packages that use the same compatible API. > Now if I wanted to switch which one I used what would I use. Right now > a switch in code or some config file would have to be used. If gems > supported an alias system we could solve a lot of these issues. I like this but fear namespace clashes... > > >> 6. Post-installation message capabilities. Let me give the user a >> message to see after they've installed the gem. > > This is a good thought. I would like to see something like this, > _however_ rdocs do get us most of the way there. Everyone, you are > using rdoc right???? Making the documentation more accessible might be > a good idea. gem_server works but a good CLI tool might be in order. gem ri would be a good idea, I think. Unless we tweak ri to search the gems anyway, but while dreaming gem ri -r ChunkyBacon raise Hopes end >> 9. External (e.g., non-Ruby) dependencies references would be useful. >> I'm thinking something like: >> >> spec.external_dependencies = { 'ImageMagick' => 'http://....' } > > Yes. I agree that there needs to be a way a user can find what he > needs w/o trying to install first. The script could then setup the > environment, throw exceptions (for custom failures), and other things > I haven't thought of yet. Oh, yes!!! I asked for this in autoconf, but didn't get anywhere. It was argued that it would be too much maintenance. gem dependencies -r Rails. If each gem knows about its dependencies, then it could be recursive gem dependencies --remote --recursive Rails. > >> 10. "Optional" dependencies. That is, things that aren't *required* to >> make the gem work, but can add additional functionality. This would >> apply to both gem dependencies (as Text::Format can use >> Text::Hyphen, but doesn't require it for basic operation) and >> external dependencies. > > Yes. Again, this one should be very high priority IMHO. Yes, please, see above! Hugh