Class: Presenter::Form

Inherits:
Base
  • Object
show all
Defined in:
lib/presenter/form.rb

Class Method Summary collapse

Methods inherited from Base

map, use

Methods included from Name

#__name__

Class Method Details

.factory(form) ⇒ Object



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

def self.factory(form)
  presenters = form.fields.each_with_object({}) do |field, p|
    name, field = field
    p[name] = field.presenter_class if field.presenter_class
  end

  presenter_class = Class.new(Base) do
    map presenters

    def self.__name__
      'form'
    end
  end

  presenter_class.new(form)
end