Module: ActionView::Template::Handlers
- Included in:
- ActionView::Template
- Defined in:
- actionpack/lib/action_view/template/handler.rb,
actionpack/lib/action_view/template/handlers.rb,
actionpack/lib/action_view/template/handlers/erb.rb,
actionpack/lib/action_view/template/handlers/rjs.rb,
actionpack/lib/action_view/template/handlers/builder.rb
Overview
Defined Under Namespace
Modules: Compilable
Classes: Builder, ERB, Erubis, RJS
Constant Summary
- @@template_handlers =
{}
- @@default_template_handlers =
nil
Class Method Summary
(collapse)
Instance Method Summary
(collapse)
Class Method Details
+ (Object) extended(base)
9
10
11
12
13
|
# File 'actionpack/lib/action_view/template/handlers.rb', line 9
def self.extended(base)
base.register_default_template_handler :erb, ERB.new
base.register_template_handler :rjs, RJS.new
base.register_template_handler :builder, Builder.new
end
|
+ (Object) extensions
18
19
20
|
# File 'actionpack/lib/action_view/template/handlers.rb', line 18
def self.extensions
@@template_extensions ||= @@template_handlers.keys
end
|
Instance Method Details
- (Object) handler_class_for_extension(extension)
46
47
48
49
50
|
# File 'actionpack/lib/action_view/template/handlers.rb', line 46
def handler_class_for_extension(extension)
ActiveSupport::Deprecation.warn "handler_class_for_extension is deprecated. " <<
"Please use handler_for_extension instead", caller
handler_for_extension(extension)
end
|
- (Object) handler_for_extension(extension)
52
53
54
|
# File 'actionpack/lib/action_view/template/handlers.rb', line 52
def handler_for_extension(extension)
registered_template_handler(extension) || @@default_template_handlers
end
|
- (Object) register_default_template_handler(extension, klass)
41
42
43
44
|
# File 'actionpack/lib/action_view/template/handlers.rb', line 41
def register_default_template_handler(extension, klass)
register_template_handler(extension, klass)
@@default_template_handlers = klass
end
|
- (Object) register_template_handler(extension, klass)
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 ActiveView::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.
29
30
31
|
# File 'actionpack/lib/action_view/template/handlers.rb', line 29
def register_template_handler(extension, klass)
@@template_handlers[extension.to_sym] = klass
end
|
- (Object) registered_template_handler(extension)
37
38
39
|
# File 'actionpack/lib/action_view/template/handlers.rb', line 37
def registered_template_handler(extension)
extension && @@template_handlers[extension.to_sym]
end
|
- (Object) template_handler_extensions
33
34
35
|
# File 'actionpack/lib/action_view/template/handlers.rb', line 33
def template_handler_extensions
@@template_handlers.keys.map {|key| key.to_s }.sort
end
|