module Simpre::Helper
A helper method for decorating objects
Public Instance Methods
decorate(item_or_collection)
click to toggle source
# File lib/simpre/helper.rb, line 4 def decorate(item_or_collection) if item_or_collection.respond_to?(:map) item_or_collection.map { |item| decorate(item) } else item = item_or_collection return item if item.is_a?(Presenter) presenter = "#{item.class}Presenter".constantize presenter.new(item, current_view_context) end end
Private Instance Methods
current_view_context()
click to toggle source
# File lib/simpre/helper.rb, line 17 def current_view_context # if calling `decorate` from another presenter return the existing # view_context return h if is_a?(Presenter) if defined?(ApplicationController) && is_a?(ApplicationController) view_context else self end end