class Gem::Release::Files::Template
def binding
def binding context.instance_eval { binding } end
def context
def context Context.new(*data.values) end
def exists?
def exists? File.exist?(target.to_s) end
def filename
def filename File.basename(target) end
def initialize(source, target, data, opts)
def initialize(source, target, data, opts) @source = source @target = (FILES[target] || target) % data @data = data @opts = opts end
def render
def render template.result(binding) end
def template
def template ERB.new(File.read(source)) end
def write
def write return false if exists? FileUtils.mkdir_p(File.dirname(target)) File.write(target, render) FileUtils.chmod('+x', target) if opts[:executable] true end