Method: Howzit::StringUtils#render_template

Defined in:
lib/howzit/stringutils.rb

#render_template(vars) ⇒ String

Render [%variable] placeholders in a templated string

Parameters:

  • vars (Hash)

    Key/value pairs of variable values

Returns:

  • (String)

    Rendered string



221
222
223
224
225
226
227
228
229
230
231
# File 'lib/howzit/stringutils.rb', line 221

def render_template(vars)
  vars.each do |k, v|
    gsub!(/\[%#{k}(:.*?)?\]/, v)
  end

  # Replace empty variables with default
  gsub!(/\[%(.*?):(.*?)\]/, '\2')

  # Remove remaining empty variables
  gsub(/\[%(.*?)\]/, '')
end