Module: Reactive::Mvc::View::TemplateHandlers
- Included in:
- Template
- Defined in:
- lib/reactive-mvc/view/template_handlers.rb,
lib/reactive-mvc/view/template_handlers/erb.rb,
lib/reactive-mvc/view/template_handlers/builder.rb,
lib/reactive-mvc/view/template_handlers/ruby_code.rb
Overview
Defined Under Namespace
Classes: Builder, ERB, RubyCode
Constant Summary
collapse
- @@template_handlers =
{}
- @@default_template_handlers =
nil
Class Method Summary
collapse
Instance Method Summary
collapse
Class Method Details
.extended(base) ⇒ Object
9
10
11
12
13
|
# File 'lib/reactive-mvc/view/template_handlers.rb', line 9
def self.extended(base)
base.register_default_template_handler :rb, TemplateHandlers::RubyCode
base.register_template_handler :erb, TemplateHandlers::ERB
end
|
Instance Method Details
#handler_class_for_extension(extension) ⇒ Object
38
39
40
|
# File 'lib/reactive-mvc/view/template_handlers.rb', line 38
def handler_class_for_extension(extension)
(extension && @@template_handlers[extension.to_sym]) || @@default_template_handlers
end
|
#register_default_template_handler(extension, klass) ⇒ Object
33
34
35
36
|
# File 'lib/reactive-mvc/view/template_handlers.rb', line 33
def register_default_template_handler(extension, klass)
register_template_handler(extension, klass)
@@default_template_handlers = klass
end
|
#register_template_handler(extension, klass) ⇒ Object
Register a class that knows how to handle template files with the given extension. This can be used to implement new template types. The constructor for the class must take the Reactive::View::Base instance as a parameter, and the class must implement a render
method that takes the contents of the template to render as well as the Hash of local assigns available to the template. The render
method ought to return the rendered template as a string.
25
26
27
|
# File 'lib/reactive-mvc/view/template_handlers.rb', line 25
def register_template_handler(extension, klass)
@@template_handlers[extension.to_sym] = klass
end
|
#template_handler_extensions ⇒ Object
29
30
31
|
# File 'lib/reactive-mvc/view/template_handlers.rb', line 29
def template_handler_extensions
@@template_handlers.keys.map(&:to_s).sort
end
|