class Sprockets::YUICompressor

Public: YUI compressor.

To accept the default options

environment.register_bundle_processor 'application/javascript',
  Sprockets::YUICompressor

Or to pass options to the YUI::JavaScriptCompressor class.

environment.register_bundle_processor 'application/javascript',
  Sprockets::YUICompressor.new(munge: true)

Constants

VERSION

Attributes

cache_key[R]

Public Class Methods

cache_key() click to toggle source
# File lib/sprockets/yui_compressor.rb, line 31
def self.cache_key
  instance.cache_key
end
call(input) click to toggle source
# File lib/sprockets/yui_compressor.rb, line 27
def self.call(input)
  instance.call(input)
end
instance() click to toggle source

Public: Return singleton instance with default options.

Returns YUICompressor object.

# File lib/sprockets/yui_compressor.rb, line 23
def self.instance
  @instance ||= new
end
new(options = {}) click to toggle source
# File lib/sprockets/yui_compressor.rb, line 37
def initialize(options = {})
  @options = options
  @cache_key = "#{self.class.name}:#{Autoload::YUI::Compressor::VERSION}:#{VERSION}:#{DigestUtils.digest(options)}".freeze
end

Public Instance Methods

call(input) click to toggle source
# File lib/sprockets/yui_compressor.rb, line 42
def call(input)
  data = input[:data]

  case input[:content_type]
  when 'application/javascript'
    Autoload::YUI::JavaScriptCompressor.new(@options).compress(data)
  when 'text/css'
    Autoload::YUI::CssCompressor.new(@options).compress(data)
  else
    data
  end
end