Git Product home page Git Product logo

rubygems.org's Introduction

RubyGems.org (née Gemcutter)

The Ruby community's gem host.

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

Support


RubyGems.org is managed by Ruby Central, a non-profit organization that supports the Ruby community through projects like this one, as well as RubyConf, RailsConf, and Bundler. You can support Ruby Central by attending or sponsoring a conference, or by joining as a supporting member.

Hosting is donated by Amazon Web Services, with CDN service donated by Fastly.

Learn more about our sponsors and how they work together.

Links

Contributions

Please follow our contribution guidelines.

To get setup, please check out the Development Setup.

Our deployment process is documented on the wiki as well, there's a multi-step Checklist to run through.

Also please take note of our Code of Conduct.

If you have any trouble or questions getting set up please create an issue on this repository and we'll be happy to help!

Organization

RubyGems.org consists of a few major parts:

  • Rails app: To manage users and allow others to view gems, etc.
  • Gem processor: Handles incoming gems and storing them in Amazon S3 (production) or on the filesystem in server/ (development).

License

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

rubygems.org's People

Contributors

acacheung avatar aellispierce avatar arthurnn avatar bettymakes avatar cldwalker avatar cmeiklejohn avatar colby-swandale avatar ddollar avatar dependabot-preview[bot] avatar dependabot[bot] avatar dwradcliffe avatar ecnelises avatar ericherscovich avatar evanphx avatar farukaydin avatar hsbt avatar indirect avatar jenshenny avatar kevinlinxc avatar martinemde avatar matiaskorhonen avatar nateberkopec avatar nickrivadeneira avatar qrush avatar segiddins avatar sferik avatar simi avatar sonalkr132 avatar spk avatar vachhanihpavan avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

rubygems.org's Issues

RubyForge Migration

Handle projects that want to move over from RubyForge to Gemcutter full time.

Proposed way to do this:
Generate a token on the Rubygem model and have them upload to RubyForge, then check RubyForge for it.

Real Design

Have a real designer revamp the site at some point.

API

Flesh out version one of the API, and make sure it's somewhat extensible so it can be upgraded.

Search

Thinking Sphinx perhaps? No idea how to implement this yet, but should be done.

Summary/description fields need to be larger.

Seeing this in the migration cron log:

Downloading ZenTest-3.0.0.gem...
PGError: ERROR:  value too long for type character varying(255)
: INSERT INTO "versions" ("rubyforge_project", "updated_at", "number", "description", "summary", "authors", "rubygem_id", "created_at") VALUES(E'zentest', '2009-08-08 01:02:03.171070', E'3.0.0', E'ZenTest provides 3 different tools: zentest, unit_diff, and autotest.

ZenTest scans your target and unit-test code and writes your missing
code based on simple naming rules, enabling XP at a much quicker
pace. ZenTest only works with Ruby and Test::Unit.

unit_diff is a command-line filter to diff expected results from
actual results and allow you to quickly see exactly what is wrong.

autotest is a continous testing facility meant to be used during
development. As soon as you save a file, autotest will run the
corresponding dependent tests.

There are two strategies intended for ZenTest: test conformance
auditing and rapid XP.

For auditing, ZenTest provides an excellent means of finding methods
that have slipped through the testing process. I''ve run it against my
own software and found I missed a lot in a well tested
package. Writing those tests found 4 bugs I had no idea existed.

ZenTest can also be used to evaluate generated code and execute your
tests, allowing for very rapid development of both tests and
implementation.', E'* Scans your ruby code and tests and generates missing methods for you.
* Includes a very helpful filter for Test::Unit output called unit_diff.
* Continually and intelligently test only those files you change with autotest.
* Includes a LinuxJournal article on testing with ZenTest written by Pat Eyler.', E'Ryan Davis, Eric Hodel', 20244, '2006-03-06 08:00:00.000000') RETURNING "id"

Gravatar Integration

I think it would be neat to show the logged in users' gravatar. Perhaps gravatar for gem owners could be shown somewhere on gems/show too.

Pull out all gem READMEs

And eventually use full text search on them. This is pretty massive since it will involve downloading all 24k+ gems, which luckily is free since Gemcutter runs on Heroku, which is on EC2.

Gem Plugin Docs

Provide some screenshots for this process and make it look decent. Also, move this into the app itself instead of the wiki.

Error with listing gems

gem list -r

results in:

*** REMOTE GEMS ***
ERROR: http://gemcutter.org does not appear to be a repository ERROR: While executing gem ... (Gem::RemoteFetcher::FetchError) bad response Not Found 404 (http://gemcutter.org/yaml)

gem push -f

Warn the user when they're overwriting a version, add a -f flag to push to allow it.

Hashtag projects

It would be nice to be able to hashtag your projects so you can search against this. Have the hashtags defined in the gemspec maybe?

Considering that Rubyists like to name their projects having nothing to really do with the functionality to be able to search against such tags would be valuable.

Migration Fails Again

Ran into another issues with migrating gem from Rubyforge.

  $ gem migrate pom
  Starting migration of pom from RubyForge...
  A migration token has been created.
  Uploading the migration token to pom.rubyforge.org. Please enter your RubyForge login:
  Login:   transami
  Password:   
  There was a problem uploading your token: SCP did not finish successfully (1)
  Asking Gemcutter to verify the upload...
  Gemcutter is still looking for your migration token.

The problem is that the pom gem is not in the pom project. It is in the proutils project.

I really wish you'd just dump this migration crap, and let us push our gems without worry about legacy releases on Rubyforge.

Discussion

Spin up and IRC channel and mailing list.

View specific version and all versions

Should be able to click a version link and see info for that version.

URL: /gems/[gem_name]/versions/[version_number]

Should also have a new view to list all versions:

URL: /gems/[gem_name]/versions

gem upgrade should be more responsive

Should actually tell the user that their API key was saved successfully.

Perhaps consider splitting the api key transaction into a different gem command.

Paginate Gem List

Because when 2,000+ gems are on /gems/list, it'll be no fun to browse.

Prerelease Gems

See what's necessary to get this working, if it's as simple as dropping in prerelease_specs into the Hostess then let's do that.

Uploading gem gives error message

Uploading a gem returns an error message, although it shows the gem uploaded to the site afterwards (so it did work).

message:

Pushing gem to Gemcutter...
ERROR:  While executing gem ... (NoMethodError)
undefined method `strip' for nil:NilClass`

gem upgrade for Windows

stty definitely won't work on Windows. The Heroku gem has this implemented, look at porting that over to the Gemcutter gem and testing it on a Windows machine.

Stats page

Show: # of gems, # of downloads Rubygem.sum("downloads"), and # of users.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.