class SC::Builder::Less

This build can compile a Less stylesheet.

Public Instance Methods

build(dst_path) click to toggle source
# File lib/sproutcore/builders/less.rb, line 16
def build(dst_path)
  begin
    require 'less'
  rescue
    raise "Cannot compile #{entry.source_path} because less is not installed.  Please try 'sudo gem install less' and try again"
  end

  begin
    content = read(entry.source_path)
    css = ::Less::Engine.new(content).to_css
    lines = []
    css.each_line { |l| lines << rewrite_inline_code(l) }
    writelines dst_path, lines
  rescue Exception => e

    # explain sass syntax error a bit more...
    if e.is_a? Less::SyntaxError
      e.message << " of #{@entry.source_path}"
    end
    raise e # reraise
  end # rescue
end