lib/bonsai/exporter.rb in bonsai-1.4.7 vs lib/bonsai/exporter.rb in bonsai-1.4.8

- old
+ new

@@ -1,7 +1,8 @@ require 'fileutils' require 'sass' +require 'yui/compressor' module Bonsai class Exporter class << self attr_accessor :path @@ -34,18 +35,24 @@ # Using system call because fileutils is inadequate system("cp -fR '#{Bonsai.root_dir}/public/.' '#{path}/.'") end def compress_assets - yui_compressor = File.expand_path("#{File.dirname(__FILE__)}/../../vendor/yui-compressor/yuicompressor-2.4.2.jar") - Bonsai.log "Compressing javascript and stylesheets" - Dir["#{path}/**/*.{js,css}"].each do |asset| - system "java -jar #{yui_compressor} #{File.expand_path(asset)} -o #{File.expand_path(asset)}" - end + compress_asset_path("#{path}/**/*.js", YUI::JavaScriptCompressor.new) + compress_asset_path("#{path}/**/*.css", YUI::CssCompressor.new) end protected + def compress_asset_path(paths, compressor) + Dir[paths].each do |path| + uncompressed = File.read(path) + File.open(path, "w") do |buffer| + buffer << compressor.compress(uncompressed) + end + end + end + def teardown FileUtils.rm_rf path end def setup \ No newline at end of file