Sha256: 2cc44935744007b00f7c4008ec39d9a1e74c2204e7b5c924df512bf4028f38a6
Contents?: true
Size: 1.07 KB
Versions: 1
Compression:
Stored size: 1.07 KB
Contents
gem "smusher", ">= 0.4.0" require "smusher" require "reduce/version" module Reduce class << self 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 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 end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
reduce-0.3.0 | lib/reduce.rb |