Sha256: 1accfb78844f16a5f438e18a663017f2aefc66b95a391b96973a49113c398d6b

Contents?: true

Size: 1.16 KB

Versions: 7

Compression:

Stored size: 1.16 KB

Contents

# ===========================================================================
# Project:   Abbot - SproutCore Build Tools
# Copyright: ©2009 Apple Inc.
#            portions copyright @2006-2009 Sprout Systems, Inc.
#            and contributors
# ===========================================================================

require "sproutcore/builders/stylesheet"
require 'fileutils'

module SC

  # This build can compile a Less stylesheet.
  class Builder::Less < Builder::Stylesheet

    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 = readlines(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 # def

  end

end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
sproutcore-1.4.0.rc.5 lib/sproutcore/builders/less.rb
sproutcore-1.4.0.rc.4 lib/sproutcore/builders/less.rb
sproutcore-1.4.0.rc.3 lib/sproutcore/builders/less.rb
sproutcore-1.4.0.rc.2 lib/sproutcore/builders/less.rb
sproutcore-1.4.0.rc lib/sproutcore/builders/less.rb
sproutcore-1.0.1049.pre.2 lib/sproutcore/builders/less.rb
sproutcore-1.0.1049.pre.1 lib/sproutcore/builders/less.rb