Sha256: 094a9c8051f1b392961f54cba6f98d9f1d39e5deddfcce1eb3822304e8c35002
Contents?: true
Size: 985 Bytes
Versions: 4
Compression:
Stored size: 985 Bytes
Contents
$:.unshift File.dirname(__FILE__) require 'engine/builder' require 'engine/nodes' begin require 'engine/parser' rescue LoadError Treetop.load LESS_GRAMMAR end module Less class Engine attr_reader :css, :less def initialize obj @less = if obj.is_a? File @path = File.dirname File.expand_path(obj.path) obj.read elsif obj.is_a? String obj.dup else raise ArgumentError, "argument must be an instance of File or String!" end @parser = LessParser.new end def parse env = Node::Element.new root = @parser.parse(self.prepare) if root @tree = root.build env.tap {|e| e.file = @path } else raise SyntaxError, @parser.failure_message end @tree end alias :to_tree :parse def to_css @css || @css = self.parse.group.to_css end def prepare @less.gsub(/\r\n/, "\n").gsub(/\t/, ' ') end end end
Version data entries
4 entries across 4 versions & 2 rubygems
Version | Path |
---|---|
cloudhead-less-1.1.0 | lib/less/engine.rb |
cloudhead-less-1.1.1 | lib/less/engine.rb |
cloudhead-less-1.1.2 | lib/less/engine.rb |
less-1.0.16 | lib/less/engine.rb |