Fork me on GitHub

gembox

What

Gembox is a very simple web based application for browsing your local ruby gems. It uses Sinatra to provide a pretty layer on your gem repository, so you can browse, find, and learn about your installed ruby gems.

Why

I’m currently obsessed with the idea that Sinatra can be used as a web interface for existing Ruby projects. What better Ruby project to prove it with than the omega-project, RubyGems.

Usage

Once gembox is installed its very simple to start it up.

$ gembox

If all goes well, this will start gembox at:

http://localhost:5678

As of version 0.2.1, you can also pass the name of the gem you’re looking for on the command line like:

$ gembox rack

If it finds an exact match it will open directly to that gem’s details. If not, it will display the results of a search for that name.

Installing With Passenger

Passenger Pane

To use Gembox with Passenger Pane there are a few simple steps you need to do:

$ git clone git://github.com/quirkey/gembox.git
$ open ./gembox/

Then open up Passenger Pane and drag the open Gembox folder into the list on the left (You’ll have to be authenticated). Now browse to http://gembox.local/ and you’ll see gembox! I told you it was simple.

Passenger vHost
$ git clone git://github.com/quirkey/gembox.git CLONEPATH

Add this virtual host to your apache configuration.

Features

At this point the features are pretty limited. You get:

  • some basic stats
  • search for gem by name
  • some views of all your installed gems
  • RDoc!
  • ability to browse by version
  • see a pretty gemspec
  • browse the included files
  • jump to the file in github (if the gem’s homepage == github)

Some features that I’d like to do (or you can with a simple ‘fork you’):

  • make this a full on gem server
  • install gems in the browser
  • better support for github linkage

Another enterprising soul has done the work of converting gem server to a sinatra app:

http://github.com/jnewland/sinatra-rubygems/tree/master

Dependencies

Gembox requires:

  • rubygems >= 1.3.1
  • vegas >= 0.1.0
  • haml >= 2.0.9
  • sinatra >= 0.9.2
  • activesupport >= 2.2.2
  • rdoc = 2.4.3
  • mislav-will_paginate >=2.3.7

Installing

sudo gem install gembox
        

Or directly from github:

sudo gem install quirkey-gembox -s http://gems.github.com
        

Github in thier infinite awesomeness also lets you download the source in multiple formats.

Bugs/Feature Requests

The full and most up to date source is at github:

http://github.com/quirkey/gembox/

You can clone or fork from there to fix or break the code.

I’m happy to take feature requests/bug reports. Just email me (contact below) or message me on github.

License

This code is free to use under the terms of the MIT license.

Contact

Feel free to email me at aaron at quirkey dot com.

Please check out my blog.

If you like or use this library – I don’t want donations – but you can recommend me on workingwithrails.com or hire me to work on your next project.