Sha256: 609f7d17ffc0ebb46d05e15bbeae295bfac457e5ad5348254433be769cab0e97

Contents?: true

Size: 1.55 KB

Versions: 2

Compression:

Stored size: 1.55 KB

Contents

module Compressit
  module Base
    class << self

      def compressit(options)
        @folder, @version, @ext = options[:folder], options[:version], options[:ext]
        
        @java, @yuicompressor = '/usr/bin/java', File.expand_path(File.dirname(__FILE__) + './../yuicompressor-2.4.6.jar')
        
        Dir.exists?("#{@folder}/compressed") ? true : Dir.mkdir("#{@folder}/compressed")
        @destination_path = Dir.open("#{@folder}/compressed")
        
        @files_to_compress, @compressed   = Dir.glob("#{@folder}/**/*#{@ext}"), "compressed-#{@version}#{@ext}"
        
        # remove compressed file if the version hasn't been updated to avoid duplicate compression
        `rm -f #{File.path(@destination_path)}/#{@compressed}` if File.exists?("#{File.path(@destination_path)}/#{@compressed}")
        
        # compress each file in @files_to_compress and save the compressed file to @destination_path
        begin
          @files_to_compress.each do |file|
            unless File.path(file).include?('compressed')
              `#{@java} -jar #{@yuicompressor} #{file} >> #{File.path(@destination_path)}/#{@compressed}`
              puts "Added: #{File.basename(file)}... \n"
            end
          end
          
          # confirm compression and show destination path where file can be found
          puts "Complete! Compressed #{@ext} file '#{@compressed}', can be found in '#{File.path(@destination_path)}'"
        rescue
          puts "Hmm... looks like this folder doesn't contain any #{@ext} files."
        end
      end
      
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
compressit-1.0.4 lib/compressit/base.rb
compressit-1.0.3 lib/compressit/base.rb