[Rubygems-developers] FYI: I'm working on the orthogonal interface I mentioned

Gavin Sinclair gsinclair at soyabean.com.au
Sun Mar 21 13:26:30 EST 2004


On Sunday, March 21, 2004, 10:40:44 AM, Gavin wrote:

> In the message "Modified usage information, and several suggestions",
> I outlined a more orthogonal and holistic approach to local and remote
> operations.

And here is the code.  (See attached.)

This is in an alpha state.  I'm just submitting it for usability
comments, etc.  The code's pretty clean, but there are lots of TODOs
scattered around.  I'll certainly submit an improved version in
future, but I've run out of time for this weekend, so see what you
think!  The file is called gem.new, so just drop it in the
rubygems/bin directory and run install.rb.  Start off with 'gem.new -h'.

To help you understand the code, this is how I've arranged it.

RubyGemsOptions:
 - represents command-line options
 - attributes: operation, argument, domain, force, (other modifiers)
 - methods: valid?, local?, remote?

RubyGemsFacade:
 - implements all operations
 - takes account of options specified
 - methods: install, build, search, etc.
 
RubyGemsApp:
 - parses command-line
 - defers to RubyGemsFacade
 - methods: run


The code is longer now, but hopefully easier to tailor in the future.

Cheers,
Gavin
-------------- next part --------------
A non-text attachment was scrubbed...
Name: gem.new
Type: application/octet-stream
Size: 17041 bytes
Desc: not available
Url : http://rubyforge.org/pipermail/rubygems-developers/attachments/20040321/9632f131/gem-0001.obj


More information about the Rubygems-developers mailing list