Writing a Rails Engine - myronmarston/conferences GitHub Wiki

From Gogaruco 2012

Presenter: Erik Michaels-Ober

Bio

Erik Michaels-Ober is the creator of one of the most popular Rails engines: RailsAdmin. He is also the author of MultiXML and T, a command-line power-tool for Twitter. When he's not hacking on those projects, he helps maintain OmniAuth among other Ruby gems and open-source Rails applications, including RubyGems.org. He was a 2010 Ruby Summer of Code mentor and a 2011 Google Summer of Code mentor, while serving as a Code for America Fellow. He lives in San Francisco, California.

Abstract

As of Rails 3.2, plugins are officially deprecated. They have been replaced by Rails Engines, a class of public methods for hooking into Rails applications. This session will explain how to write a Rails Engine from scratch or convert your existing plugin to an engine. It will also cover best practices for making your engine play well with others, and when to factor pieces of your existing Rails application code into an engine for reuse across multiple applications.

Summary

  • Rails Engines dates from Oct. 31, 2005!
  • DHH was initially against engines.
  • James Adam, creator of engines: "It would be madness to include them in the core of rails".
  • Merb Slices: "Little slices of MVC cake"
  • Erik wrote MerbAdmin.
  • Dec. 23, 2008 - Rails/Merb merger.
    • This killed Merb, but brought many ideas from Merb into Rails.
  • The Russian Doll Pattern - 2009 talk by Wycats and Carl Lerche
  • 2010: Ruby Summer of Code - Piotr Sarnacki - Mountable Engines
  • Old plugin style deprecated in rails 3.2, removed in 4.0

Memorable Quotes

Notes

Discussion