Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

awesome gem hosting.

branch: master

This branch is 0 commits ahead and 0 commits behind master

Fetching latest commit…

Octocat-spinner-32-eaf2f5

Cannot retrieve the latest commit at this time

Octocat-spinner-32 app
Octocat-spinner-32 config
Octocat-spinner-32 db
Octocat-spinner-32 features
Octocat-spinner-32 gem
Octocat-spinner-32 lib
Octocat-spinner-32 log
Octocat-spinner-32 public
Octocat-spinner-32 script
Octocat-spinner-32 server
Octocat-spinner-32 test
Octocat-spinner-32 tmp
Octocat-spinner-32 vendor
Octocat-spinner-32 .gitignore
Octocat-spinner-32 MIT-LICENSE
Octocat-spinner-32 README.textile
Octocat-spinner-32 Rakefile
Octocat-spinner-32 cucumber.yml
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.

Something went wrong with that request. Please try again.