Class: HealthDataStandards::Export::TemplateHelper

Inherits:
Object
  • Object
show all
Defined in:
lib/health-data-standards/export/template_helper.rb

Overview

Class that finds ERb templates. Here is how it can be configured:

template_format

What format (C32, CCDA, etc) are we looking for. This will cause the TemplateHelper to look for template_name.template_format.erb

template_subdir

The sub directory where templates live. If none is provided, it will look for templates in the root of the template_directory

template_directory

The root directory to look in for templates. By default, it is in the template folder of this gem. It can be handy to provide a different directory if you want to use this class outside of the HDS gem

Instance Method Summary collapse

Constructor Details

#initialize(template_format, template_subdir = nil, template_directory = nil, qrda_version = nil) ⇒ TemplateHelper

Returns a new instance of TemplateHelper.



13
14
15
16
17
18
19
# File 'lib/health-data-standards/export/template_helper.rb', line 13

def initialize(template_format, template_subdir = nil, template_directory = nil, qrda_version = nil)
  @template_format = template_format
  @template_directory = template_directory
  @template_subdir = template_subdir
  @qrda_version = qrda_version
  @template_cache = {}
end

Instance Method Details

#partial(partial_name) ⇒ Object

Basically the same template, but prepends an underscore to the template name to mimic the Rails convention for template fragments



39
40
41
# File 'lib/health-data-standards/export/template_helper.rb', line 39

def partial(partial_name)
  cache_template("_#{partial_name}")
end

#template(template_name) ⇒ Object

Returns the raw ERb for the template_name provided. This method will look in template_directory/template_subdir/template_name.template_format.erb



33
34
35
# File 'lib/health-data-standards/export/template_helper.rb', line 33

def template(template_name)
  cache_template(template_name)
end

#template_rootObject



21
22
23
24
25
26
27
28
29
# File 'lib/health-data-standards/export/template_helper.rb', line 21

def template_root
  @template_directory ||= File.join(File.dirname(__FILE__), '..', '..', '..', 'templates')

  if @template_subdir
    return File.join(@template_directory, @template_subdir)
  else
    return @template_directory
  end
end