-
Notifications
You must be signed in to change notification settings - Fork 25
Rails Engines Patterns
Presenter: Andy Maleh
Andy Maleh is a Software Engineer at Groupon who specializes in user needs analysis and building transformative software that meets ongoing demands. He leads by embracing agile practices and software craftsmanship in the process of perfecting Groupon's deal experience. He joined Groupon via Obtiva, where he served as a Senior Consultant for more than five years. Andy is also the Founder and Lead Developer of the Glimmer open source project for Desktop Development with Ruby.
Andy holds an M.S. in Software Engineering from DePaul University in Chicago and a B.S. in Computer Science from McGill University (Montreal). Outside of Groupon walls, Andy is a drummer in two indie rock bands (Gag Order and Cletus Darby) and travels via Longboard when the Chicago weather permits.
This talk covers a successful utilization of Rails Engines to share features that cut across the layers of MVC in different Rails 3 projects. Rails Engines thus provide the best of both worlds: improved productivity by reusing MVC code (including assets like Javascript, CSS, and Images) and better flexibility by allowing different applications to customize behavior as needed without reliance on application-dependent conditionals. Rails Engine patterns will be provided to guide developers on how to leverage Rails Engines' reusability and flexibility without sacrificing maintainability.
Outline:
- Basics of Rails Engines
- Rails Engine Patterns
- Improved Productivity Tips
- Summary of Benefits and Trade-Offs
Attendees should walk away with an overview of Rails Engines and guidelines on how to utilize them effectively.
- Example problem: Multiple sites supporting a college search map
- High School Recruiting / Public Profiles / Athlete Recruiting
- Copied over logic, but different presentation
- What is a rails engine: Ruby Gem + MVC stack elements
- Load order and monkeypatching (code in slides)
- Defining common models / views / controllers / helpers to reuse
A crowd-sourced conference wiki!
Working together is better. :)
- Speakers, for example:
- Recent Conferences
- Software
- Offline Access
- Contributors (More than 50!)
- Code Frequency