Class: ActionView::Template::Handlers::MbraoTemplate
- Inherits:
-
Object
- Object
- ActionView::Template::Handlers::MbraoTemplate
- Defined in:
- lib/mbrao/integrations/rails.rb
Overview
Class for rendering mbrao contents in Rails.
Class Method Summary (collapse)
-
+ (MbraoTemplate) instance(force = false)
Returns a unique (singleton) instance of the template handler.
-
+ (Object) register
Register Mbrao into Rails.
Instance Method Summary (collapse)
-
- (String) call(template)
Method called to render a template.
-
- (String) render(renderer, template)
Renders a template into a renderer context.
-
- (TrueClass) supports_streaming?
Declares support for streaming.
Class Method Details
+ (MbraoTemplate) instance(force = false)
Returns a unique (singleton) instance of the template handler.
15 16 17 18 |
# File 'lib/mbrao/integrations/rails.rb', line 15 def self.instance(force = false) @instance = nil if force @instance ||= ActionView::Template::Handlers::MbraoTemplate.new end |
+ (Object) register
Register Mbrao into Rails.
21 22 23 |
# File 'lib/mbrao/integrations/rails.rb', line 21 def self.register ActionView::Template.register_template_handler("emt", instance) if defined?(ActionView) && defined?(Rails) && Rails.version =~ /^[34]/ end |
Instance Method Details
- (String) call(template)
Method called to render a template.
52 53 54 |
# File 'lib/mbrao/integrations/rails.rb', line 52 def call(template) "ActionView::Template::Handlers::MbraoTemplate.instance.render(self, #{template.source.to_json})" end |
- (String) render(renderer, template)
Renders a template into a renderer context.
30 31 32 33 34 35 36 37 38 39 |
# File 'lib/mbrao/integrations/rails.rb', line 30 def render(renderer, template) content = ::Mbrao::Parser.parse(template) controller = renderer.controller controller.instance_variable_set(:@mbrao_content, content) controller.define_singleton_method(:mbrao_content) { @mbrao_content } controller.class.send(:helper_method, :mbrao_content) ::Mbrao::Parser.render(content, {engine: content.[:engine], locale: controller.params[:locale]}) end |
- (TrueClass) supports_streaming?
Declares support for streaming.
44 45 46 |
# File 'lib/mbrao/integrations/rails.rb', line 44 def supports_streaming? true end |