[Nitro] [OT] Roll n' Rain

James Britt james.britt at gmail.com
Tue Jun 27 12:54:59 EDT 2006

TRANS wrote:
> Hi NCT,
> I want to tell you about two project I've been working on that are
> starting to come to fruition. One is called RubyRoll,or just Roll(s),
> and the other Rain.
> Rolls adds object-oriented library management with versioning to Ruby
> w/o being tied to a package manager (as opposed to Gems). It
> essentially works like this. When distributing your project, organize
> the lib/, ext/ and/or data/ directories with a version tier. Eg.
>   myapp/
>     lib/
>       1.0.0/
>         ...
> Keep in mind you don't have to develop with the project in this layout
> (though you could) you can leave the versioin tier out and only add it
> in upon distribution. (Another alternative is to leave it in but label
> it '0' and just rename it upon distribution.) With that addition of
> RUBYOPT="-roll" you can then do things like:
>   library('myapp', '>1' )  #=> #<Library myapp/1.0.0>
>   library('myapp').require('somefile')
> Of course it also works like normal:
>   require 'myapp/somefile'

Just so I'm clear, code that knows nothing about Roll can use other code 
that has been installed using Roll?

> The second project is Rain 

Not Rock?


> ... 
> While Rain can download drop packages from the internet (on the fly
> too). I haven't added dependency handling. I'm not sure about that
> yet. I sometimes think it would be nice to revive RPA to handle this
> side of things.

Have you thought about authentication and code signing?

> Ansyway, So those are the two project that are almost ready for
> initial releases. I wonder if I should merge them into one project?
> While I don't want to tie Rolls to any package manager --Rain isn't
> really any package manager, it's more like a meta-package manager.
> Also I would like to teach Rolls to recognize a drop file and be able
> to use it much like Java can use jar files. In other words you would
> be able to do:
>   require 'myapp.drp'
> And Ruby/Rolls would uncompress the myapp drop package in a special
> cache location and  then load it from there. Not sure what I would
> call this combined project if I did so though.


> So anyway, just wanted to get NCT's take.
> Thanks,
> T.
> P.S. Sorry for the long post. And yes, this is my legendary Gems killer ;-)

Mighty contentious claim there.

Does it play well with gems?  For example, is it plausible that Roll 
could create and install a gem package as it might a .rpm or .deb bundle?

James Britt

"Blanket statements are over-rated"

More information about the Nitro-general mailing list