Sha256: da45a7fe6631275d0b18b8ac3088fe93866a1f47a53e04b8a6feaf84711dc09d
Contents?: true
Size: 1.67 KB
Versions: 2
Compression:
Stored size: 1.67 KB
Contents
require "tilt" require "yaml" module Ykutils module Erubyx module_function def erubi_render(template_hash, scope, value_hash = {}) template_hash[:OBJ] = Tilt::ErubiTemplate.new { template_hash[:TEMPLATE] } unless template_hash[:OBJ] template_hash[:OBJ].render(scope, value_hash) end ## # `erubi_render_with_file` takes a template file path, a scope, and a value file path, reads the # template file, loads the value file, and then calls `erubi_render` with the template hash, scope, # and value hash # # Args: # template_file_path: The path to the template file. # scope: the scope of the template. This is the name of the directory that the template is in. # value_file_path: The path to the YAML file that contains the values to be used in the template. def erubi_render_with_file(template_file_path, scope, value_file_path_array) template_text = File.read(template_file_path) template_hash = { TEMPLATE: template_text, OBJ: nil } value_hash = value_file_path_array.reduce({}) do |hash, path| # p path hash0 = YAML.load_file(path) # p hash0 hash = hash.merge(hash0) # p hash hash end # puts value_hash erubi_render(template_hash, scope, value_hash) end def erubi_render_with_template_file(template_file_path, scope, value_hash = {}) template_text = File.read(template_file_path) template_hash = make_template_hash(template_text) # puts value_hash erubi_render(template_hash, scope, value_hash) end def make_template_hash(text) { TEMPLATE: text, OBJ: nil } end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
ykutils-0.1.10 | lib/ykutils/erubyx.rb |
ykutils-0.1.8 | lib/ykutils/erubyx.rb |