[Rubygems-developers] RemoteFetcher and progress reporting

Luis Lavena luislavena at gmail.com
Wed Dec 30 17:04:33 EST 2009


Hello guys,

I've been looking over remote_fetcher.rb code to find a way to perform
HTTP and HTTPS request with visual feedback.

You may wonder why that?

Even with todays internet connection speeds, sometimes "feels like"
installing gems like rails takes ages.

Rails gem, itself without dependencies weight 1.2MB. Add to that
1.69MB from Active* and Action* gems.

So, no visual feedback of what is going on.

There is an old but working "progress bar" implementation for Ruby:

http://0xcc.net/ruby-progressbar/index.html.en

Which I used to provide download feedback for RubyInstaller building
recipes, extending open-uri:

http://github.com/oneclick/rubyinstaller/blob/master/rake/contrib/uri_ext.rb

When trying to make a similar approach work for RemoteFetcher, found
that due the way is being implemented, the complete request is
processed, not being able to perform a chunk'ed read of the body of
the request, and thus, not being able to provide visual feedback about
it.

Change those methods will require some serious refactoring.

Has anyone explored creating a rubygems plugin for this before? Just
wanted to avoid reinventing the wheel and collaborate with others.

Thank you.
-- 
Luis Lavena
AREA 17
-
Perfection in design is achieved not when there is nothing more to add,
but rather when there is nothing more to take away.
Antoine de Saint-Exupéry


More information about the Rubygems-developers mailing list