Class: Tmplt

Inherits:
Object
  • Object
show all
Defined in:
lib/tmplt.rb

Class Method Summary collapse

Class Method Details

.render(tmpl, data) ⇒ Object

Raises:

  • (ArgumentError)


5
6
7
8
9
10
11
12
13
14
# File 'lib/tmplt.rb', line 5

def render(tmpl, data)
  raise ArgumentError unless tmpl.is_a?(String) && (data.is_a?(Hash) || data.is_a?(Array))
  tmpl.gsub(/{{(.+?)}}/) do
    val = follow_path(data, $1)
    if val.is_a?(Proc)
      val = val.call(data)
    end
    is_number?(val) ? val.to_s : String.try_convert(val)
  end
end