Class: TerraformTemplateRenderer::Renderer
- Inherits:
-
Object
- Object
- TerraformTemplateRenderer::Renderer
- Defined in:
- lib/terraform_template_renderer/renderer.rb
Overview
Renderer to remder an ERB template with variables taken from a json string instead of from the original binding
Instance Method Summary collapse
-
#initialize(template, template_path) ⇒ Renderer
constructor
A new instance of Renderer.
-
#render(json_variables) ⇒ Object
The passed in json_variables needs to be a JSON object (not array), all the keys will be used as variables in the templates.
- #render_with_binding(binding_) ⇒ Object
Constructor Details
#initialize(template, template_path) ⇒ Renderer
Returns a new instance of Renderer.
10 11 12 13 14 |
# File 'lib/terraform_template_renderer/renderer.rb', line 10 def initialize(template, template_path) # The third argument enables trim mode using a hyphen @erb_template = ERB.new(template, nil, "-") @template_path = template_path end |
Instance Method Details
#render(json_variables) ⇒ Object
The passed in json_variables needs to be a JSON object (not array), all the keys will be used as variables in the templates
18 19 20 21 |
# File 'lib/terraform_template_renderer/renderer.rb', line 18 def render(json_variables) binding_ = template_binding(json_variables) render_with_binding(binding_) end |
#render_with_binding(binding_) ⇒ Object
23 24 25 |
# File 'lib/terraform_template_renderer/renderer.rb', line 23 def render_with_binding(binding_) @erb_template.result(binding_.bind) end |