Method: InspecPlugins::Init::Renderer#render

Defined in:
lib/plugins/inspec-init/lib/inspec-init/renderer.rb

#render(template_content, hash) ⇒ Object

This is a render helper to bind hash values to a ERB template ERB provides result_with_hash in ruby 2.5.0+, which does exactly this



80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
# File 'lib/plugins/inspec-init/lib/inspec-init/renderer.rb', line 80

def render(template_content, hash)
  # create a new binding class
  cls = Class.new do
    hash.each do |key, value|
      define_method key.to_sym do
        value
      end
    end
    # expose binding
    define_method :bind do
      binding
    end
  end
  ERB.new(template_content).result(cls.new.bind)
end