lib/ykutils/erubyx.rb in ykutils-0.1.4 vs lib/ykutils/erubyx.rb in ykutils-0.1.6
- old
+ new
@@ -3,39 +3,50 @@
module Ykutils
module Erubyx
module_function
- def erubi_render(template_hash, scope, value_hash)
+ def erubi_render(template_hash, scope, value_hash = {})
unless template_hash[:OBJ]
- template_hash[:OBJ] = Tilt::ErubiTemplate.new{ template_hash[:TEMPLATE] }
+ template_hash[:OBJ] = Tilt::ErubiTemplate.new { template_hash[:TEMPLATE] }
end
- template_hash[:OBJ].render( scope, value_hash )
+ 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.
+ ##
+ # `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({}){ |hash, path|
- #p path
+ OBJ: nil }
+ value_hash = value_file_path_array.reduce({}) { |hash, path|
+ # p path
hash0 = YAML.load_file(path)
- #p hash0
+ # p hash0
hash = hash.merge(hash0)
- #p hash
+ # p hash
hash
}
- #puts value_hash
+ # 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