GSoC/GCI Archive
Google Summer of Code 2015

Ruby on Rails

License: MIT license

Web Page: https://github.com/railsgsoc/ideas/wiki/2015-Ideas

Mailing List: https://groups.google.com/forum/#!forum/rubyonrails-gsoc

Web development that doesn't hurt

Ruby on Rails is an open-source web framework that's optimized for programmer happiness and sustainable productivity. It lets you write beautiful code by favoring convention over configuration.

Projects

  • Create Web Console Browser Extensions The web-console is a debugging tool for Ruby on Rails web applications. It provides an interactive Ruby session to debug in the web browser. The session in the console has the context of the code of the web application. The goal of this project is to create the browser extensions of web-console. It allows to display the console aside from the web application's view. By doing this, the console can be displayed without breaking affects to the view code of the web application.
  • Evented File System Monitoring Ruby On Rails consists of a very powerful API called the File Checker API which serves the epic feature of dynamic reloading. This project deals with improving the current implementation as a substitute. The final output of the project will be an alternative to the existing File Checker that is, the Evented File System Monitoring gem which will be best optimized for the Rails framework.
  • Improve Rails Testing Speed by Predicting Test Failures This project tries to determine which test should be run for a given commit based on changes introduced since the base commit (likely to be the latest commit on master branch). It maintains the data of relationships between application code and test cases, for example, "line 10 of `a.rb` is executed by test cases A, B, and C". In this way, when a commit which changes line 10 of `a.rb` is introduced, we know we should run test cases A, B, and C (and more, based on other changes).
  • Performance Enhancement of the Rails Asset Pipeline Enhance the performance of the asset compilation process of Ruby on Rails. At first, some benchmarks of the current state of some well-known rails-based projects will be needed. Then contrast different alternatives to the current options, maybe integrate them too. If the results are not satisfactory, propose substitutes and even implementing them.
  • Refactor Rails' Cookie Implementation and Improve Signing of Cookies Current Rails Cookie System does not have a mechanism to expire a cookie, and purpose of a cookie is not defined. Apparently, cookies are not very secure. This project will make the expiry of cookies possible on the server side and also add purpose field for cookies. To make this integration with the current structure, I will also refactor the cookie internals. Upgrade paths will also be taken care of, so that cookies are readable even after a user upgrades his application.
  • Ruby on Rails - Add Source Maps support to the Rails Asset Pipeline I am eager to become a part of the Ruby on Rails community. And think this project is a wonderful place to get me started, with advantages for both, me and the community.