Class: Deas::Nm::TemplateEngine

Inherits:
TemplateEngine
  • Object
show all
Defined in:
lib/deas-nm.rb

Constant Summary collapse

DEFAULT_HANDLER_LOCAL =
'view'.freeze
DEFAULT_LOGGER_LOCAL =
'logger'.freeze
DEFAULT_SERIALIZER =

no-op

proc{ |obj, template_name| obj }.freeze

Instance Method Summary collapse

Instance Method Details

#compile(template_name, compiled_content) ⇒ Object

Raises:

  • (NotImplementedError)


47
48
49
# File 'lib/deas-nm.rb', line 47

def compile(template_name, compiled_content)
  raise NotImplementedError
end

#nm_handler_localObject



21
22
23
# File 'lib/deas-nm.rb', line 21

def nm_handler_local
  @nm_handler_local ||= (self.opts['handler_local'] || DEFAULT_HANDLER_LOCAL)
end

#nm_logger_localObject



25
26
27
# File 'lib/deas-nm.rb', line 25

def nm_logger_local
  @nm_logger_local ||= (self.opts['logger_local'] || DEFAULT_LOGGER_LOCAL)
end

#nm_serializerObject



29
30
31
# File 'lib/deas-nm.rb', line 29

def nm_serializer
  @nm_serializer ||= (self.opts['serializer'] || DEFAULT_SERIALIZER)
end

#nm_sourceObject



13
14
15
16
17
18
19
# File 'lib/deas-nm.rb', line 13

def nm_source
  @nm_source ||= Nm::Source.new(self.source_path, {
    :cache  => self.opts['cache'],
    :ext    => self.opts['ext'],
    :locals => { self.nm_logger_local => self.logger }
  })
end

#partial(template_name, locals, &content) ⇒ Object



40
41
42
43
44
45
# File 'lib/deas-nm.rb', line 40

def partial(template_name, locals, &content)
  self.nm_serializer.call(
    self.nm_source.render(template_name, locals),
    template_name
  )
end

#render(template_name, view_handler, locals, &content) ⇒ Object



33
34
35
36
37
38
# File 'lib/deas-nm.rb', line 33

def render(template_name, view_handler, locals, &content)
  self.nm_serializer.call(
    self.nm_source.render(template_name, render_locals(view_handler, locals)),
    template_name
  )
end