module Chic::Presentable

Public Instance Methods

presenter(context = nil) click to toggle source
# File lib/chic/presentable.rb, line 5
def presenter(context = nil)
  @presenter ||= presenter_class.new(self, context)
end
presenter_class() click to toggle source
# File lib/chic/presentable.rb, line 9
def presenter_class
  "#{respond_to?(:model_name) ? send(:model_name) : self.class.name}Presenter".constantize
end
presenter_for(object) click to toggle source
# File lib/chic/presentable.rb, line 15
def presenter_for(object)
  if object.respond_to?(:presenter_class)
    object.presenter_class
  else
    "#{object&.model_name || object.class.name}Presenter".constantize
  end
rescue NameError, LoadError
  Chic.configuration.logger&.debug "Couldn't find a presenter for '#{object.class.name}'"
  nil
end