class Haml::Plugin

This module makes Haml work with Rails using the template handler API.

Public Class Methods

call(template) click to toggle source

In Rails 3.1+, call takes the place of compile

# File lib/haml/template/plugin.rb, line 29
def self.call(template)
  new.compile(template)
end

Public Instance Methods

cache_fragment(block, name = {}, options = nil) click to toggle source
# File lib/haml/template/plugin.rb, line 33
def cache_fragment(block, name = {}, options = nil)
  @view.fragment_for(block, name, options) do
    eval("_hamlout.buffer", block.binding)
  end
end
compile(template) click to toggle source
# File lib/haml/template/plugin.rb, line 17
def compile(template)
  options = Haml::Template.options.dup
  if (ActionPack::VERSION::MAJOR >= 4) && template.respond_to?(:type)
    options[:mime_type] = template.type
  elsif template.respond_to? :mime_type
    options[:mime_type] = template.mime_type
  end
  options[:filename] = template.identifier
  Haml::Engine.new(template.source, options).compiler.precompiled_with_ambles([])
end
handles_encoding?() click to toggle source
# File lib/haml/template/plugin.rb, line 15
def handles_encoding?; true; end