Class: Dandy::ViewFactory

Inherits:
Object
  • Object
show all
Defined in:
lib/dandy/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/dandy/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, options = {}) ⇒ Object



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

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