parsley/app/helpers/application_helper.rb

17 lines
474 B
Ruby

module ApplicationHelper
# Given a model or collection of models, returns them with the given decorator. If a block is passed, yields the
# decorated objects as well
#
# Useful in this context:
# <% decorate(@model_obj, ModelObjDecorator) do |model_obj| %>
# <%= model_obj.decorator_method %>
# <% end %>
def decorate(obj, decorator_class)
decorated = decorator_class.decorate(obj, self)
yield(decorated) if block_given?
decorated
end
end