module Reduce
Constants
- VERSION
Public Class Methods
reduce(file)
click to toggle source
# File lib/reduce.rb, line 8 def reduce(file) extension = File.extname(file).downcase.sub('.','') case extension when 'html', 'xml' compressor = File.join(File.dirname(__FILE__),'..','vendor','htmlcompressor*.jar') `java -jar #{compressor} --type #{extension} --compress-js --compress-css #{file}` when 'js','css' compressor = File.join(File.dirname(__FILE__),'..','vendor','yuicompressor*.jar') `java -jar #{compressor} --type #{extension} #{file}` when 'jpg', 'jpeg', 'png', 'gif' reduce_image file else raise "reduce does not know how to handle a .#{extension} file (#{file})" end end
Private Class Methods
reduce_image(input)
click to toggle source
# File lib/reduce.rb, line 26 def reduce_image(input) output = input+'.temp' FileUtils.cp(input, output) service = (input.downcase =~ /\.gif$/ ? 'PunyPng' : 'SmushIt') Smusher.optimize_image(output, :quiet=>true, :service => service) data = File.read(output) FileUtils.rm(output) data end