class Silicon::ViewFactory

Public Class Methods

new(container, template_registry, view_builder_registry) click to toggle source
# 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

Public Instance Methods

create(name, content_type) click to toggle source
# 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