Module: Appfuel::Presenter

Defined in:
lib/appfuel/presenter.rb,
lib/appfuel/presenter/base.rb

Defined Under Namespace

Classes: Base

Class Method Summary collapse

Class Method Details

.create_presenter(klass, &block) ⇒ Object



13
14
15
16
# File 'lib/appfuel/presenter.rb', line 13

def self.create_presenter(klass, &block)
  presenter = klass.new
  ->(data, criteria) { presenter.instance_exec(data, criteria, &block) }
end

.present(name, opts = {}, &block) ⇒ Object



4
5
6
7
8
9
10
11
# File 'lib/appfuel/presenter.rb', line 4

def self.present(name, opts = {}, &block)
  key  = Appfuel.expand_container_key(name, 'presenters')
  root = opts[:root] || Appfuel.default_app_name
  app_container = Appfuel.app_container(root)

  presenter = create_presenter(opts[:base_class] || Base, &block)
  app_container.register(key, presenter)
end