Class: Barber::Precompiler

Inherits:
Object
  • Object
show all
Defined in:
lib/barber/precompiler.rb

Direct Known Subclasses

Ember::Precompiler

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.compile(template) ⇒ Object



7
8
9
# File 'lib/barber/precompiler.rb', line 7

def compile(template)
  instance.compile(template)
end

.compiler_versionObject



11
12
13
# File 'lib/barber/precompiler.rb', line 11

def compiler_version
  instance.compiler_version
end

Instance Method Details

#compile(template) ⇒ Object



22
23
24
25
26
# File 'lib/barber/precompiler.rb', line 22

def compile(template)
  context.call precompile_function, sanitize(template)
rescue ExecJS::ProgramError => ex
  raise Barber::PrecompilerError.new(template, ex)
end

#compiler_versionObject



42
43
44
# File 'lib/barber/precompiler.rb', line 42

def compiler_version
  "handlebars:#{handlebars_version}"
end

#handlebarsObject



38
39
40
# File 'lib/barber/precompiler.rb', line 38

def handlebars
  @handlebars ||= File.new(Handlebars::Source.bundled_path)
end

#precompile_functionObject



28
29
30
# File 'lib/barber/precompiler.rb', line 28

def precompile_function
  "Barber.precompile"
end

#sourcesObject



32
33
34
35
36
# File 'lib/barber/precompiler.rb', line 32

def sources
  sources = [precompiler]
  sources << handlebars if handlebars_available?
  sources
end