Class: Stache::Mustache::CachedTemplate

Inherits:
Mustache::Template
  • Object
show all
Defined in:
lib/stache/mustache/cached_template.rb

Overview

Extend the Mustache::Template class to support dumping/loading. This is not possible by the original class since it uses a singleton class.

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(source, compiled_source = nil) ⇒ CachedTemplate

Init with uncompiled “source” and “compiled_source” if given.



12
13
14
15
# File 'lib/stache/mustache/cached_template.rb', line 12

def initialize(source, compiled_source = nil)
  super(source)
  @compiled_source = compiled_source
end

Class Method Details

._load(compiled_source) ⇒ Object

Restore object by simply setting the compiled_source



35
36
37
# File 'lib/stache/mustache/cached_template.rb', line 35

def self._load(compiled_source)
  new(nil, compiled_source)
end

Instance Method Details

#_dump(level) ⇒ Object

Store the template by returning the compiled_source



28
29
30
# File 'lib/stache/mustache/cached_template.rb', line 28

def _dump(level)
  compile
end

#compile(src = @source) ⇒ Object

Compiles the source, but uses the already compiled version if present.



21
22
23
# File 'lib/stache/mustache/cached_template.rb', line 21

def compile(src = @source)
  @compiled_source || (@compiled_source = super(src))
end