class Razor::Renderer::Getter

Attributes

extensions[R]
renderers[R]
renderer[R]

Public Class Methods

define_extension(name, renderer) click to toggle source
# File lib/razor/renderer.rb, line 20
def define_extension(name, renderer)
        @extensions[".#{name}"] = renderer
end
define_renderer(name, renderer) click to toggle source
# File lib/razor/renderer.rb, line 11
                                def define_renderer(name, renderer)
                                        @renderers[name] = renderer
                                        class_eval(<<-END)
                                                def #{name}(string)
                                                        self.class.renderers[#{name.inspect}].new(string)
                                                end
                                        END
                                end
new(path, proc) click to toggle source
# File lib/razor/renderer.rb, line 31
def initialize(path, proc)
        @path = path
        if proc
                @renderer = instance_exec &proc
        else
                @renderer = instance_exec { nil }
        end
        if @renderer.is_a? String or @renderer.is_a? NilClass
                @renderer = Renderer.new(@renderer)
        end
        return @renderer
end

Public Instance Methods

from_file(filename) click to toggle source
# File lib/razor/renderer.rb, line 44
def from_file(filename)
        filepath = File.join(@path, filename)
        #str = (File.read(filepath, :mode=>'rb') rescue nil)
        begin
                str = File.open(filepath, 'rb') { |f| f.read }
        rescue
                str = nil
        end
        ext = File.extname filename
        renderer = self.class.extensions[ext]
        renderer ||= Renderer
        return renderer.new(str)
end