Class: Silicon::ViewFactory

Inherits:
Object
  • Object
show all
Defined in:
lib/silicon/view_factory.rb

Instance Method Summary collapse

Constructor Details

#initialize(container, template_registry, view_builder_registry) ⇒ ViewFactory

Returns a new instance of ViewFactory.



7
8
9
10
11
# File 'lib/silicon/view_factory.rb', line 7

def initialize(container, template_registry, view_builder_registry)
  @container = container
  @template_registry = template_registry
  @view_builder_registry = view_builder_registry
end

Instance Method Details

#create(name, content_type) ⇒ Object



13
14
15
16
17
18
19
# File 'lib/silicon/view_factory.rb', line 13

def create(name, content_type)
  type = content_type.split('/')[1]
  template = @template_registry.get(name, type)
  builder = @view_builder_registry.get(type)
  view = builder.new(template, @container)
  view.process
end