class AsciiBinder::TemplateRenderer

Attributes

source_dir[R]
template_cache[R]

Public Class Methods

new(source_dir,template_directory) click to toggle source
# File lib/ascii_binder/template_renderer.rb, line 7
def initialize(source_dir,template_directory)
  @source_dir = source_dir
  @template_cache = {}
  Dir.glob(File.join(template_directory, "**/*")).each do |file|
    @template_cache[file] = Tilt.new(file, :trim => "-")
  end
end

Public Instance Methods

render(template, args = {}) click to toggle source
# File lib/ascii_binder/template_renderer.rb, line 15
def render(template, args = {})
  # Inside erb files, template path is local to repo
  if not template.start_with?(source_dir)
    template = File.join(source_dir, template)
  end
  renderer_for(template).render(self, args).chomp
end

Private Instance Methods

renderer_for(template) click to toggle source
# File lib/ascii_binder/template_renderer.rb, line 25
def renderer_for(template)
  template_cache.fetch(File.expand_path(template))
end