class Smurf::Javascript
Public Class Methods
minifies?(paths)
click to toggle source
# File lib/smurf/javascript.rb, line 42 def self.minifies?(paths) !paths.grep(%r[\.js(\?\d+)?$]).empty?; end
new(content)
click to toggle source
# File lib/smurf/javascript.rb, line 44 def initialize(content) @content = nil java_exists = %x[which java].present? if java_exists @content = minify_with_closure_compiler(content) Rails.logger.info "Closure Compiler failed" if @content.blank? end if @content.blank? Rails.logger.info "Closure Compiler not found" unless java_exists @content = JSMin.minify(content) end @content end
Public Instance Methods
minified()
click to toggle source
# File lib/smurf/javascript.rb, line 61 def minified; @content end
minify_with_closure_compiler(content)
click to toggle source
# File lib/smurf/javascript.rb, line 63 def minify_with_closure_compiler(content) jar_file = File.join(File.dirname(__FILE__), '..', 'closure-compiler', 'compiler.jar') IO.popen("java -jar #{jar_file}", "r+") do |p| p.write content p.close_write content = p.read end content if $? == 0 end