Class: HealthDataStandards::Export::TemplateHelper
- Inherits:
-
Object
- Object
- HealthDataStandards::Export::TemplateHelper
- 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
-
#initialize(template_format, template_subdir = nil, template_directory = nil) ⇒ TemplateHelper
constructor
A new instance of TemplateHelper.
-
#partial(partial_name) ⇒ Object
Basically the same template, but prepends an underscore to the template name to mimic the Rails convention for template fragments.
-
#template(template_name) ⇒ Object
Returns the raw ERb for the template_name provided.
- #template_root ⇒ Object
Constructor Details
#initialize(template_format, template_subdir = nil, template_directory = nil) ⇒ TemplateHelper
Returns a new instance of TemplateHelper.
13 14 15 16 17 |
# File 'lib/health-data-standards/export/template_helper.rb', line 13 def initialize(template_format, template_subdir = nil, template_directory = nil) @template_format = template_format @template_directory = template_directory @template_subdir = template_subdir 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
37 38 39 |
# File 'lib/health-data-standards/export/template_helper.rb', line 37 def partial(partial_name) 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
31 32 33 |
# File 'lib/health-data-standards/export/template_helper.rb', line 31 def template(template_name) File.read(File.join(template_root, "#{template_name}.#{@template_format}.erb")) end |
#template_root ⇒ Object
19 20 21 22 23 24 25 26 27 |
# File 'lib/health-data-standards/export/template_helper.rb', line 19 def template_root @template_directory ||= File.dirname(__FILE__) if @template_subdir return File.join(@template_directory, '..', '..', '..', 'templates', @template_subdir) else return File.join(@template_directory, '..', '..', '..', 'templates') end end |