Sha256: cfbb5793c3ac6d7027c321e2e72da45e9515d8456be9adfa9327bc3909882f4a

Contents?: true

Size: 727 Bytes

Versions: 3

Compression:

Stored size: 727 Bytes

Contents

class SassRenderer
  def initialize(templatedir, outdir, verbose)
    @templatedir = templatedir
    @outdir = outdir
    @verbose = verbose
  end

  def name
    'sass/compass'
  end

  def handle?(file)
    (file =~ /\.sass$/) || (file =~ /\.scss$/)
  end

  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
end

Renderer.register SassRenderer

Version data entries

3 entries across 3 versions & 2 rubygems

Version Path
gitstats-rb-2.0.0 lib/gitstats/renderer/sass.rb
gitstats-ruby-1.0.1 lib/gitstats/renderer/sass.rb
gitstats-ruby-1.0.0 lib/gitstats/renderer/sass.rb