class Renderer
Public Class Methods
new(templatedir, outdir, verbose)
click to toggle source
# File lib/gitstats/renderer.rb, line 7 def initialize(templatedir, outdir, verbose) @templatedir = templatedir @outdir = outdir @verbose = verbose @renderers = @@renderers.map { |x| x.new(templatedir, outdir, verbose) } end
register(cls)
click to toggle source
# File lib/gitstats/renderer.rb, line 2 def self.register(cls) @@renderers ||= Array.new @@renderers << cls end
Public Instance Methods
render(stats)
click to toggle source
# File lib/gitstats/renderer.rb, line 14 def render(stats) Dir.chdir(@templatedir) { Dir.glob('*').sort }.each do |file| next unless File.file?(File.join(@templatedir, file)) r = @renderers.find { |r| r.handle?(file) } if r.nil? puts "copying '#{file}' ..." if @verbose FileUtils.copy(File.join(@templatedir, file), @outdir) else puts "rendering '#{file}' using #{r.name} ..." if @verbose r.render(file, stats) end end end