Sha256: a19cb1e45f5ae54963d008f14e16b1dd40f46bd6b76efe44e7ed52492965c80e
Contents?: true
Size: 1.47 KB
Versions: 1
Compression:
Stored size: 1.47 KB
Contents
require 'erb' Dir[File.join(File.dirname(__FILE__), 'assembly_version', '*.rb')].each do |path| require path end module Rake module Funnel module Support class AssemblyVersionWriter include InstantiateSymbol instantiate AssemblyVersion def initialize(type = :from_version_files, args = {}) @type = create(type, args) end def write(target_path, languages = []) @type.each do |info| source = info[:source] version_info = info[:version_info] [languages].flatten.each do |language| target = target_path.call(language, version_info, source) contents = evaluate_erb(language, version_info, target) $stderr.print("Writing #{target}\n") File.write(target, contents) end end end private def evaluate_erb(language, version_info, target) template = template_for(language) render = ERB.new(template, nil, '%<>') render.filename = target render.result(get_binding(version_info)) end def template_for(language) template = File.join(File.dirname(__FILE__), 'assembly_version', 'languages', language.to_s) raise "Language is not supported: #{language}" unless File.readable?(template) File.read(template) end def get_binding(version_info) binding end end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
rake-funnel-0.22.2 | lib/rake/funnel/support/assembly_version_writer.rb |