Class: AsciiBinderGabrielRH::TemplateRenderer

Inherits:
Object
  • Object
show all
Defined in:
lib/ascii_binder_gabriel_rh/template_renderer.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(source_dir, template_directory) ⇒ TemplateRenderer

Returns a new instance of TemplateRenderer.



7
8
9
10
11
12
13
# File 'lib/ascii_binder_gabriel_rh/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

Instance Attribute Details

#source_dirObject (readonly)

Returns the value of attribute source_dir.



5
6
7
# File 'lib/ascii_binder_gabriel_rh/template_renderer.rb', line 5

def source_dir
  @source_dir
end

#template_cacheObject (readonly)

Returns the value of attribute template_cache.



5
6
7
# File 'lib/ascii_binder_gabriel_rh/template_renderer.rb', line 5

def template_cache
  @template_cache
end

Instance Method Details

#render(template, args = {}) ⇒ Object



15
16
17
18
19
20
21
# File 'lib/ascii_binder_gabriel_rh/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