module Csso

Constants

CSSO_JS_LIB
VERSION

Public Class Methods

install(sprockets) click to toggle source
# File lib/csso.rb, line 11
def self.install(sprockets)
  unless sprockets
    raise "no compatible sprockets found" unless Sprockets.respond_to? :register_compressor
    Sprockets.register_compressor('text/css', :csso, Compressor)
    return
  end
  if sprockets.respond_to? :register_compressor
    sprockets.register_compressor('text/css', :csso, Compressor)
    sprockets.css_compressor = :csso
  else
    # Sprockets::Compressors.register_css_compressor(:csso, 'Csso::Compressor::Legacy', :default => true)
    sprockets.css_compressor = Csso::Compressor::Legacy
  end
end
js_api() click to toggle source
# File lib/csso.rb, line 7
def self.js_api
  @csso ||= Csso::JsLib.new
end
optimize(css, maniac_mode=false, structural_optimization=true) click to toggle source
# File lib/csso.rb, line 26
def self.optimize(css, maniac_mode=false, structural_optimization=true)
  if maniac_mode
    maniac_mode = 4 unless maniac_mode.is_a?(Integer) && maniac_mode > 0
    begin
      prev_css = css
      css = Optimizer.new.optimize(css, structural_optimization)
      maniac_mode -= 1
    end while maniac_mode > 0 && prev_css != css
    css
  else
    Optimizer.new.optimize(css, structural_optimization)
  end
end
optimize_with_sourcemap(css, filename, structural_optimization=true) click to toggle source
# File lib/csso.rb, line 40
def self.optimize_with_sourcemap css, filename, structural_optimization=true
  return nil unless css.is_a?(String)
  return css if css.size <= 3
  Csso.js_api.compress_with_sourcemap(css, filename, structural_optimization)
end