Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
A Gemfile and gemspec indexer
Ruby JavaScript
branch: master

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
app
bin
config
lib
public
spec
tmp
vendor/gemfile_reader
.gitignore
Capfile
Gemfile
Gemfile.lock
Guardfile
LICENSE
README.md
Rakefile
config.ru

README.md

Gemphile

A Gemfile and gemspec indexer

Purpose

For some developers, the best way to learn how to use a gem is to see how other projects use it in the real world. But what if you can't easily find a project that uses the gem you're trying to learn about? Gemphile was created to index the Gemfiles and gemspecs of Ruby projects on GitHub and then to provide a simple search interface to find those projects.

Gemphile makes use of GitHub's post-receive hooks to discover new projects and to know when an existing project's Gemfile or gemspec has been modified.

So it's like gemsearch?

Sort of. To my knowledge, that site only allows searching gems' dependencies against other gems. If a gem is used in a project that no other gem depends on, that project won't show up.

Contributing

Contributions would be very appreciated; just send a pull request.

If you're thinking of adding some major functionality like voting, or something, send me a message on GitHub first so we can discuss it, as I'd like to keep the site simple for now.

Requirements

  • Ruby 1.9
  • MongoDB 1.8+

Organization

Gemphile consists of two major parts:

  • Sinatra app: Serves the site and receives GitHub post-receive hooks. Lives in app/.
  • Gemfile reader: Reads downloaded Gemfiles in an isolated, elevated-security environment to prevent exploits. Lives in vendor/gemfile_reader/.

Developer Quickstart

First, you'll need Ruby 1.9. Working with RVM is probably easiest.

rvm install 1.9.2
rvm --create 1.9.2@gemphile

Next, you'll need MongoDB. If you're on Mac OSX, this is super easy with Homebrew:

brew install mongodb

Ubuntu/Debian users, see the official packages.

Then use Bundler to install the dependencies.

gem install bundler
bundle install

Then run the specs.

rake spec

If everything passes, you're good to go.

Sass stylesheets are not automatically converted to CSS at runtime. You'll need to compile them as needed with sass or just leave compass watch running.

TODO

  • I'd love some HTML/CSS improvements. I am not a designer.

Copyright

Copyright (c) 2011 Robert Speicher. Released under the MIT License. See LICENSE for details.

Something went wrong with that request. Please try again.