mirror of
https://github.com/rails/rails.git
synced 2022-11-09 12:12:34 -05:00
Add shorthand for js and css compressors
This commit is contained in:
parent
ed2820d6ec
commit
dab96a267e
2 changed files with 40 additions and 0 deletions
|
@ -57,7 +57,44 @@ module Sprockets
|
|||
env.static_root = File.join(app.root.join("public"), assets.prefix)
|
||||
env.paths.concat assets.paths
|
||||
env.logger = Rails.logger
|
||||
env.js_compressor = expand_js_compressor(assets.js_compressor)
|
||||
env.css_compressor = expand_css_compressor(assets.css_compressor)
|
||||
env
|
||||
end
|
||||
|
||||
def expand_js_compressor(sym)
|
||||
case sym
|
||||
when :closure
|
||||
require 'closure-compiler'
|
||||
Closure::Compiler.new
|
||||
when :uglifier
|
||||
require 'uglifier'
|
||||
Uglifier.new
|
||||
when :yui
|
||||
require 'yui/compressor'
|
||||
YUI::JavaScriptCompressor.new
|
||||
else
|
||||
sym
|
||||
end
|
||||
end
|
||||
|
||||
def expand_css_compressor(sym)
|
||||
case sym
|
||||
when :scss
|
||||
require 'sass'
|
||||
compressor = Object.new
|
||||
def compressor.compress(source)
|
||||
Sass::Engine.new(source,
|
||||
:syntax => :scss, :style => :compressed
|
||||
).render
|
||||
end
|
||||
compressor
|
||||
when :yui
|
||||
require 'yui/compressor'
|
||||
YUI::JavaScriptCompressor.new(:munge => true)
|
||||
else
|
||||
sym
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -35,6 +35,9 @@ module Rails
|
|||
@assets.paths = []
|
||||
@assets.precompile = [ /\w+\.(?!js|css)$/, "application.js", "application.css" ]
|
||||
@assets.prefix = "/assets"
|
||||
|
||||
@assets.js_compressor = nil
|
||||
@assets.css_compressor = nil
|
||||
end
|
||||
|
||||
def compiled_asset_path
|
||||
|
|
Loading…
Reference in a new issue