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:
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.