Sha256: 7e4833aee37cbd471c203d846465191bf1f0afcc031d72f00e20c94415c9789a

Contents?: true

Size: 572 Bytes

Versions: 55

Compression:

Stored size: 572 Bytes

Contents

require_relative 'presenter/base'
module Appfuel
  module Presenter
    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

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

Version data entries

55 entries across 55 versions & 1 rubygems

Version Path
appfuel-0.7.0 lib/appfuel/presenter.rb
appfuel-0.6.16 lib/appfuel/presenter.rb
appfuel-0.6.15 lib/appfuel/presenter.rb
appfuel-0.6.14 lib/appfuel/presenter.rb
appfuel-0.6.13 lib/appfuel/presenter.rb
appfuel-0.6.12 lib/appfuel/presenter.rb
appfuel-0.6.11 lib/appfuel/presenter.rb
appfuel-0.6.10 lib/appfuel/presenter.rb
appfuel-0.6.9 lib/appfuel/presenter.rb
appfuel-0.6.8 lib/appfuel/presenter.rb
appfuel-0.6.7 lib/appfuel/presenter.rb
appfuel-0.6.6 lib/appfuel/presenter.rb
appfuel-0.6.5 lib/appfuel/presenter.rb
appfuel-0.6.4 lib/appfuel/presenter.rb
appfuel-0.6.3 lib/appfuel/presenter.rb
appfuel-0.6.1 lib/appfuel/presenter.rb
appfuel-0.5.16 lib/appfuel/presenter.rb
appfuel-0.5.15 lib/appfuel/presenter.rb
appfuel-0.5.14 lib/appfuel/presenter.rb
appfuel-0.5.13 lib/appfuel/presenter.rb