Skip to content

technoweenie/gemcutter

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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.

Releases

No releases published

Packages

No packages published

Languages

  • Ruby 97.5%
  • JavaScript 2.5%