Class: Legion::Extensions::Transformer::Engines::Registry
- Inherits:
-
Object
- Object
- Legion::Extensions::Transformer::Engines::Registry
- Defined in:
- lib/legion/extensions/transformer/engines/registry.rb
Constant Summary collapse
- ENGINES =
{}.freeze
Class Method Summary collapse
Class Method Details
.detect(template) ⇒ Object
29 30 31 32 33 34 35 |
# File 'lib/legion/extensions/transformer/engines/registry.rb', line 29 def detect(template) if template.is_a?(String) && (template.include?('<%') || template.include?('%>')) fetch(:erb) else fetch(:static) end end |
.fetch(name) ⇒ Object
24 25 26 27 |
# File 'lib/legion/extensions/transformer/engines/registry.rb', line 24 def fetch(name) @engines ||= {} @engines[name.to_sym] || @engines[name.to_s] || raise(ArgumentError, "Unknown engine: #{name}") end |
.register(engine_class) ⇒ Object
17 18 19 20 21 22 |
# File 'lib/legion/extensions/transformer/engines/registry.rb', line 17 def register(engine_class) @engines ||= {} instance = engine_class.new @engines[instance.name] = instance @engines[instance.name.to_s] = instance end |
.reset! ⇒ Object
37 38 39 |
# File 'lib/legion/extensions/transformer/engines/registry.rb', line 37 def reset! @engines = {} end |