ddollar / gemcutter forked from qrush/gemcutter

awesome gem hosting. super alpha, beta soon!

This URL has Read+Write access

name age message
file .gitignore Fri Sep 25 06:20:36 -0700 2009 Ignoring _site [qrush]
file MIT-LICENSE Mon Jun 01 14:41:11 -0700 2009 Adding the MIT license [qrush]
file README.textile Thu Oct 08 21:56:05 -0700 2009 Updating the readme now that the redesign is done [qrush]
file Rakefile Thu Sep 17 09:41:42 -0700 2009 Using rake cucumber instead of rake features [qrush]
directory app/ Loading commit data...
directory config/ Thu Oct 08 19:11:34 -0700 2009 Users should be able to reset their API keys. [Luke Redpath]
file cucumber.yml Wed Sep 16 20:55:30 -0700 2009 update to more recent cucumber (0.3.101) [dchelimsky]
directory db/ Fri Oct 09 14:37:29 -0700 2009 Reordering versions again, in a migration [qrush]
directory features/ Thu Oct 08 19:11:34 -0700 2009 Users should be able to reset their API keys. [Luke Redpath]
directory gem/ Wed Oct 07 22:33:42 -0700 2009 Bumping gem to 0.1.5 [qrush]
directory lib/ Wed Oct 07 12:06:49 -0700 2009 Merge branch 'master' into staging [qrush]
directory log/ Tue May 26 05:20:27 -0700 2009 Making sure the log and tmp directories stick a... [qrush]
directory public/ Wed Oct 07 16:24:15 -0700 2009 Merge branch 'staging' [qrush]
directory script/ Wed Sep 16 20:55:30 -0700 2009 update to more recent cucumber (0.3.101) [dchelimsky]
directory server/ Wed Sep 23 18:09:23 -0700 2009 No need for the rubygems list anymore [qrush]
directory test/
directory tmp/ Tue May 26 05:20:27 -0700 2009 Making sure the log and tmp directories stick a... [qrush]
directory vendor/ Sat Oct 03 23:12:09 -0700 2009 Adding a small chart to the stats page [qrush]
README.textile

gemcutter

Awesome RubyGem hosting.

Purpose

  • Provide a better API for dealing with gems
  • Create more transparent and accessible project pages
  • Enable the community to improve and enhance the site

Please check out the FAQ for more information.

Contributions

Gemcutter has a ‘commit-bit’ policy, much like the Rubinius project. Submit a patch that is accepted, and you can get full commit access to the project. All you have to do is ask us on #gemcutter on Freenode or bug qrush in a message and he’ll add you as a collaborator on the main repository. Feel free to fork the project though and have fun in your own sandbox.

How to contribute:

  • Fork the project
  • Create a topic branch for what you’re working on (git checkout -b awesome_feature)
  • Commit away, push that up (git push your_remote awesome_feature)
  • Create a new GitHub Issue with the commit, asking for review.
  • Once it’s accepted, if you want access to the core repository feel free to ask! Otherwise, you can continue to hack away in your own fork.

If you’re looking for things to hack on, please check GitHub Issues. If you’ve found bugs or have feature ideas don’t be afraid to pipe up and ask the mailing list or IRC channel about them.

Organization

Gemcutter consists of a few major parts:

  • Rails app: To manage users and allow others to view gems, etc.
  • Sinatra app (Hostess): the gem server, lives in app/metal/hostess.rb.
  • RubyGem: The gemcutter client gem that interacts with the site, lives in gem/.
  • Gem processor: Handles incoming gems and storing them in S3 (production) or on the filesystem in server/ (development). Lives in lib/gemcutter.rb, lib/indexer.rb, lib/vault.rb.

Development

Some things you’ll need to do in order to get this project up and running:

  • Install sinatra. (sudo gem install sinatra)
  • Install the test gems (sudo rake gems:install RAILS_ENV=test)

For testing/developing the gem, cd into the gem directory. Please keep the code for the gem in there, don’t let it leak out into the Rails app.

Make sure you run rake gemcutter:index:create before running the app on your own machine, this primes the filesystem gem index for local use.

License

Gemcutter uses the MIT license. Please check the LICENSE file for more details.