# File lib/less/parser.rb, line 17 def initialize(options = {}) # LeSS supported _env_ options : # # - paths (unmodified) - paths to search for imports on # - optimization - optimization level (for the chunker) # - mime (browser only) mime type for sheet import # - contents (browser only) # - strictImports # - dumpLineNumbers - whether to dump line numbers # - compress - whether to compress # - processImports - whether to process imports. if false then imports will not be imported # - relativeUrls (true/false) whether to adjust URL's to be relative # - errback (error callback function) # - rootpath string # - entryPath string # - files (internal) - list of files that have been imported, used for import-once # - currentFileInfo (internal) - information about the current file - # for error reporting and importing and making urls relative etc : # this.currentFileInfo = { # filename: filename, # relativeUrls: this.relativeUrls, # rootpath: options.rootpath || "", # currentDirectory: entryPath, # entryPath: entryPath, # rootFilename: filename # }; # env = {} Less.defaults.merge(options).each do |key, val| env[key.to_s] = case val when Symbol, Pathname then val.to_s when Array val.map!(&:to_s) if key.to_sym == :paths # might contain Pathname-s val # keep the original passed Array else val # true/false/String/Method end end @parser = Less::JavaScript.exec { Less['Parser'].new(env) } end