class SassRenderer

Public Class Methods

new(templatedir, outdir, verbose) click to toggle source
# File lib/gitstats/renderer/sass.rb, line 2
def initialize(templatedir, outdir, verbose)
  @templatedir = templatedir
  @outdir = outdir
  @verbose = verbose
end

Public Instance Methods

handle?(file) click to toggle source
# File lib/gitstats/renderer/sass.rb, line 12
def handle?(file)
  (file =~ /\.sass$/) || (file =~ /\.scss$/)
end
name() click to toggle source
# File lib/gitstats/renderer/sass.rb, line 8
def name
  'sass/compass'
end
render(file, stats) click to toggle source
# File lib/gitstats/renderer/sass.rb, line 16
def render(file, stats)
  scss = file =~ /\.scss$/

  ifile = File.join(@templatedir, file)
  ofile = File.join(@outdir, File.basename(file, scss ? '.scss' : '.sass') + '.css')

  lines = IO::readlines(ifile).join('')

  options = Compass.sass_engine_options
  options[:syntax] = scss ? :scss : :sass
  engine = Sass::Engine.new(lines, options)
  lines = engine.render

  File.new(ofile, 'w').write(lines)
end