Module: ApplicationHelper

Defined in:
lib/application_helper.rb

Instance Method Summary collapse

Instance Method Details

#present(object_or_class, klass = nil) {|presenter| ... } ⇒ Object

Yields:

  • (presenter)


2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# File 'lib/application_helper.rb', line 2

def present(object_or_class, klass = nil)
  presenter = nil

  if object_or_class.methods.include?(:new)
    klass ||= "#{object_or_class}Presenter".constantize
    presenter = klass
    presenter.initialize(object_or_class, self)
  else
    klass ||= "#{object_or_class.class}Presenter".constantize
    presenter = klass.new(object_or_class, self)
  end

  yield presenter if block_given?
  #block.arity > 0 ? yield(presenter) : presenter.instance_eval(&block)
  return presenter
end