module Sprockets::Rails::Compressors

def find_registered_compressor(name, compressors_hash, default_compressor_name)

def find_registered_compressor(name, compressors_hash, default_compressor_name)
  if name.respond_to?(:to_sym)
    compressor = compressors_hash[name.to_sym] || compressors_hash[default_compressor_name]
    require compressor[:require] if compressor[:require]
    compressor[:klass].constantize.new
  else
    name
  end
end

def register_css_compressor(name, klass, options = {})

def register_css_compressor(name, klass, options = {})
  @@default_css_compressor = name.to_sym if options[:default] || @@default_css_compressor.nil?
  @@css_compressors[name.to_sym] = { :klass => klass.to_s, :require => options[:require] }
end

def register_js_compressor(name, klass, options = {})

def register_js_compressor(name, klass, options = {})
  @@default_js_compressor = name.to_sym if options[:default] || @@default_js_compressor.nil?
  @@js_compressors[name.to_sym] = { :klass => klass.to_s, :require => options[:require] }
end

def registered_css_compressor(name)

def registered_css_compressor(name)
  find_registered_compressor name, @@css_compressors, @@default_css_compressor
end

def registered_js_compressor(name)

def registered_js_compressor(name)
  find_registered_compressor name, @@js_compressors, @@default_js_compressor
end