Google Summer of Code Wrap up: Ruby on Rails
Rails is a Ruby framework that includes everything needed to create web applications. This was our fourth Summer of Code participation, and in this post we'd like to tell you a bit about this year's projects.
Genki Sugimoto created a testing library called ttnt. It suggests which tests are relevant to a particular commit inside your application, allowing you to skip full test suite runs when possible.
The Rails Web Console helps Rails developers debug running applications inside the browser. This project was created in 2013 by Genadi Samokovarov as part of that year's GSoC. In 2015 Hiroyuki Sano improved it by creating a browser extension so you can use the console inside the Developer Tools.
Martha focused on finding and addressing performance issues inside our asset generation pipeline. With her work we now have support for faster asset compilation libraries, and thanks to her benchmarks we now know where to focus our future optimization efforts.
Rails monitors application files when running in development mode, if any change is detected the application code is reloaded on the next request. Currently Rails walks the application tree to detect said changes, Puneet's contribution implements an alternative using native operating system events.
Siddharth worked on laying the infrastructure for a more robust implementation of cookies in Rails. Some of his changes include support for JSON Web Encryption (JWE) and JSON Web Signatures (JWS). With these changes in place we can add cool features like cookie purposes and coherent expiration.