Sha256: 6c5228450e24f49d12545f9b2eada9f6f2ec80ae61291168af5d7b99ddea986c
Contents?: true
Size: 690 Bytes
Versions: 6
Compression:
Stored size: 690 Bytes
Contents
require 'erb' module Elzar module Template class << self; attr_accessor :source_directory; end self.source_directory = File.dirname(__FILE__) + '/templates' def self.generate(file, dest, ivars={}) str = generate_string(file, ivars) File.open("#{dest}/#{file}", 'w+') {|f| f.write str } end def self.generate_string(file, ivars={}) file = source_directory + "/#{file}.erb" ERB.new(File.read(file)).result(create_template_binding(ivars)) end def self.create_template_binding(ivars) obj = Object.new ivars.each {|name, val| obj.instance_variable_set("@#{name}", val) } obj.instance_eval { binding } end end end
Version data entries
6 entries across 6 versions & 1 rubygems