A helper for creating declarative interfaces in controllershttps://github.com/hashrocket/decent_exposure
DecentExposure helps you program to an interface, rather than an
implementation in your Rails controllers. The fact of the matter is that
sharing state via instance variables in controllers promotes close coupling
with views. DecentExposure gives you a declarative manner of exposing an
interface to the state that controllers contain and thereby decreasing
coupling and improving your testability and overall design.