Presenters

Testing helpers is handy, but if you have a lot of logic in your helpers, I recommend moving the logic into presenter objects. This is especially true if you have a series of helpers that take the same argument.

There’s nothing complicated about using presenters in Rails; I often roll my own using Ruby’s SimpleDelegator class. If you want a little more structure, you can use the draper gem.[11]

We can convert the project helper to a project presenter. This version of the code uses SimpleDelegator and includes a method for converting a list of projects into a list of presenters. In a break from our usual convention, I’ll show you the code first:

display/03/gatherer/app/presenters/project_presenter.rb
​Line 1 
​class​ ProjectPresenter ...

Get Rails 4 Test Prescriptions now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.