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