Sha256: 337d29ef5367d93bb30fca2bea4fb1504160b7cbedfbd32d6b98d3168904003d
Contents?: true
Size: 1.68 KB
Versions: 4
Compression:
Stored size: 1.68 KB
Contents
require "tilt" require "yaml" module Ykxutils 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
4 entries across 4 versions & 1 rubygems
Version | Path |
---|---|
ykxutils-0.1.14 | lib/ykxutils/erubyx.rb |
ykxutils-0.1.13 | lib/ykxutils/erubyx.rb |
ykxutils-0.1.12 | lib/ykxutils/erubyx.rb |
ykxutils-0.1.11 | lib/ykxutils/erubyx.rb |