module Hc::Presenter
Constants
- VERSION
Public Class Methods
present(object, klass: nil, controller_context: nil, method: nil, options: {})
click to toggle source
# File lib/hc/presenter.rb, line 8 def self.present(object, klass: nil, controller_context: nil, method: nil, options: {}) if object.nil? return object elsif object.is_a?(DateTime) || object.is_a?(Time) return object.to_formatted_s(:iso8601) elsif object.respond_to?(:count) content = object.collect{ |o| present(o, klass: klass, controller_context: controller_context, method: method, options: options) } return content else klass ||= "#{object.class}Presenter".constantize presenter_object = klass.new(object: object, controller_context: controller_context, options: options) if !method.nil? && presenter_object.respond_to?(method) presenter_object.send(method) else presenter_object.send(:format) end end end