Class: StackMaster::TemplateCompiler
- Inherits:
-
Object
- Object
- StackMaster::TemplateCompiler
- Defined in:
- lib/stack_master/template_compiler.rb
Constant Summary collapse
- TemplateCompilationFailed =
Class.new(RuntimeError)
Class Method Summary collapse
- .compile(config, template_compiler, template_dir, template, compile_time_parameters, compiler_options = {}) ⇒ Object
- .find_compiler(name) ⇒ Object
- .register(name, klass) ⇒ Object
Class Method Details
.compile(config, template_compiler, template_dir, template, compile_time_parameters, compiler_options = {}) ⇒ Object
5 6 7 8 9 10 11 12 13 14 15 |
# File 'lib/stack_master/template_compiler.rb', line 5 def self.compile(config, template_compiler, template_dir, template, compile_time_parameters, = {}) compiler = if template_compiler find_compiler(template_compiler) else template_compiler_for_stack(template, config) end compiler.require_dependencies compiler.compile(template_dir, template, compile_time_parameters, ) rescue StandardError => e raise TemplateCompilationFailed, "Failed to compile #{template}" end |
.find_compiler(name) ⇒ Object
35 36 37 38 39 |
# File 'lib/stack_master/template_compiler.rb', line 35 def self.find_compiler(name) @compilers.fetch(name.to_sym) do raise "Unknown compiler #{name.inspect}" end end |
.register(name, klass) ⇒ Object
17 18 19 20 |
# File 'lib/stack_master/template_compiler.rb', line 17 def self.register(name, klass) @compilers ||= {} @compilers[name] = klass end |