Module Tilt
In: lib/sinatra/tilt.rb
Template BuilderTemplate RDiscountTemplate LiquidTemplate RDocTemplate MustacheTemplate StringTemplate RedClothTemplate HamlTemplate ERBTemplate SassTemplate ErubisTemplate Cache lib/sinatra/tilt.rb Tilt dot/m_4_0.png

Methods

[]   mappings   new   register  

Classes and Modules

Class Tilt::BuilderTemplate
Class Tilt::Cache
Class Tilt::ERBTemplate
Class Tilt::ErubisTemplate
Class Tilt::HamlTemplate
Class Tilt::LiquidTemplate
Class Tilt::MustacheTemplate
Class Tilt::RDiscountTemplate
Class Tilt::RDocTemplate
Class Tilt::RedClothTemplate
Class Tilt::SassTemplate
Class Tilt::StringTemplate
Class Tilt::Template

Constants

VERSION = '0.4'

Public Class methods

Lookup a template class given for the given filename or file extension. Return nil when no implementation is found.

[Source]

    # File lib/sinatra/tilt.rb, line 30
30:   def self.[](file)
31:     if @template_mappings.key?(pattern = file.to_s.downcase)
32:       @template_mappings[pattern]
33:     elsif @template_mappings.key?(pattern = File.basename(pattern))
34:       @template_mappings[pattern]
35:     else
36:       while !pattern.empty?
37:         if @template_mappings.key?(pattern)
38:           return @template_mappings[pattern]
39:         else
40:           pattern = pattern.sub(/^[^.]*\.?/, '')
41:         end
42:       end
43:       nil
44:     end
45:   end

Hash of template path pattern => template implementation class mappings.

[Source]

    # File lib/sinatra/tilt.rb, line 8
 8:   def self.mappings
 9:     @template_mappings
10:   end

Create a new template for the given file using the file‘s extension to determine the the template mapping.

[Source]

    # File lib/sinatra/tilt.rb, line 20
20:   def self.new(file, line=nil, options={}, &block)
21:     if template_class = self[file]
22:       template_class.new(file, line, options, &block)
23:     else
24:       fail "No template engine registered for #{File.basename(file)}"
25:     end
26:   end

Register a template implementation by file extension.

[Source]

    # File lib/sinatra/tilt.rb, line 13
13:   def self.register(ext, template_class)
14:     ext = ext.to_s.sub(/^\./, '')
15:     mappings[ext.downcase] = template_class
16:   end

[Validate]