Goruco Videos

Luke Melia

Organizing and Packaging Rich Javascript Apps with Ruby


More and more developers are facing the challenge of organizing and deploying complex client-side Javascript apps. It turns out there are some excellent solutions to this problem bubbling up in the Ruby ecosystem. I am responsible for two complex Javascript applications at Yapp, and in this micro-talk, I will share a solid solution to this problem using open source Ruby projects.

I will cover:

  • Intro to Rake::Pipeline
  • This project was recently open sourced by Living Social
  • An extension to Rake for dealing with a directory of inputs, a number of filters organized as a pipeline, and a directory of outputs
  • Great for describing and executing the build step of a pure client-side application
  • Under-documented as yet
  • Logical Javascript organization and simple dependency management with mini-spade and Rake::Pipeline
  • As rubyists, we love clean, well-organized project directory structure
  • Here's how to achieve this for your javascript
  • Concatenating & minifying assets
  • A solid development environment with Rack, fssm, Puma and Rake::Pipeline
  • Puma for using threads to hold requests while your assets are rebuilding
  • Bonus: integrate automatic test execution
  • fssm for watching your project files and proactively rebuilding assets


Luke Melia is CTO and co-founder of Yapp and has earlier been VP, Engineering at Weplay and Director of Software Development at Oxygen Media. Prior to that, he owned a small software company in Charlottesville, Virginia. Since discovering Ruby in 2005, he has has been active in the Ruby community, helping to organize the first GoRuCo, speaking at GoRuCo 2010, presenting at nyc.rb, contributing to several open source projects including Tracks and Rails, and contributing a chapter to “Ruby in Practice” from Manning. He enjoys beach volleyball teaching his two young daughter how to program with KidsRuby.