Presenter Classes and the Power of Abstraction

Location: D134 Level: Novice
Average rating: ****.
(4.00, 1 rating)

Moderated by Mike Subelsky, Otherinbox

This talk will use three examples from a consumer-facing Rails application,, a Rails app that helps consumers deal with email overload:

1) Writing complex SQL statements to speed up database access, by marrying the strengths of Ruby with the strengths of SQL. Developers can use Presenters to generate SQL statements in a way that isDRY, readable, maintainable, and easily tested, while keeping their models free of clutter.

2) Designing web views that manipulate multiple models simultaneously (where signup involves creating multiple different objects which must both be validated before either can be created).

3) Building complex reports that can accept a wide variety of options to control the scope of the report.
The talk will conclude with a discussion of the details of Presenter implementation, using the Forwardable library and some custom techniques I’ve developed to make Presenters easier to write.

News and Coverage
co-presented by Ruby Central, Inc. O'Reilly
  • Engine Yard
  • Sun Microsystems
  • FiveRuns
  • GotThingsDone
  • Heroku
  • ThoughtWorks
  • Atlantic Dominion Solutions
  • Blue Box Group
  • CodeGear
  • E-xact
  • ELC Technologies
  • EnterpriseDB
  • GemStone Systems
  • Intridea
  • Morph Labs
  • RightScale
  • TechRepublic

Sponsorship Opportunities

For information on exhibition and sponsorship opportunities at RailsConf, contact Yvonne Romaine.

Download the RailsConf Sponsor/Exhibitor Prospectus

Media and Promotional Opportunities

Download the Media & Promotional Partner Brochure (PDF) for more information on trade opportunities with O'Reilly conferences, or contact mediapartners@

Program Ideas

Post your suggestions for speakers, topics, and activities on the RailsConf wiki or send an email to

Press and Media

For media-related inquiries, contact

Contact Us

View a complete list of RailsConf 2008 contacts.