Gem-web is a tool that capable of providing an interface that allows opening documentation, source code and website of a ruby gem. My goal on GSoC was integrating it on RubyGems' CLI, which would make this feature available out of the box to all ruby users, improving their productivity, since there would have no need to search this information manually.
I spent a good time in my proposal planning the work of every week in the GSoC period. So, basically I had, step-by-step, what to do and when to do it. The task list was this:
- Rewrite
gem-web
's tests with Minitest (because they were in Rspec) - Move the code of
gem-web
toRubygems
- Make sure that the code worked in all platforms
- Open a Pull Request for Rubygems and get feedback from the community
- Adjust the code with the community recommendations
- Write test for the (possible) changes the community asked for
- Make sure that the build is passing
- Write documentation about the changes I've made
As soon as I was accepted to GSoC I wrote an article on How I Got Accepted to GSoC, with some tips for the next possible GSoCers.
On the community bounding period I wanted to study a bit on how rubygems' commands work, so I dive into the code base and ended up writing a blog post about it.
The first thing I did on the coding period, and after forking Rubygems, was opening an issue to address my work on it, and to get some feedback of the community before starting any code too. A couple of contributors (@hsbt and @indirect commented on it, and I move on implementing the next steps.
All my work was done in my fork of Rubygems on the branch adds-web-command.
I had to rewrite gem-web
's tests with Minitest (I followed a TDD approach). Not only this, but I had to remove all the dependencies (development and runtime ones). And that's what I first did (I wrote a post about this on my personal blog too, so you can check this out in more details)
Remove all gem-web
dependencies
gem-web: https://github.com/bitboxer/gem-web
- Documentation
- Gerada automaticamente: [https://github.com/rubygems/guides#setup]
Goals:
The final release should contain:
- Stable code
- Build is passing
- 100% test coverage on the gem-web features
- Changes Documented
- Pull Request opened targeting the master branch
-
Fiz td que tinha me proposto, mas só parte disso "pode" ser aceita
-
Não é do escopo, mas eu posso adaptar a gem-web pra se adequar ao novo estilo do rubygems
-
Thanks
-
i wnat to keep contributin
Pull Request for "Myself" MatheusRich/rubygems#1
Issue on Rubygems Github rubygems/rubygems#2784
Pull Request for Rubygems rubygems/rubygems#2835