February 2018
Intermediate to advanced
406 pages
9h 52m
English
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.[51]
You 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 convention, I’ll show you the code first:
| 1: | class ProjectPresenter < SimpleDelegator ... |