# # This class compresses/uncompresses a file using Gzip. # # Author:: FUJIWARA Teruyoshi # Copyright:: Copyright (c) 2010 FUJIWARA Teruyoshi # License:: Distributes under the same terms as Ruby # Date:: July 3, 2010 # Version:: 1.0 # # == Requiremet # * You need Gzip installed on your PC. # class Gzip @@cmd_zip = "/usr/bin/gzip" @@cmd_unzip = "/usr/bin/gzip -d" # Compress a file using Gzip # === Arguments # [path] a file to be compressed. # === Return value # [true] succeeded # [false] failed def self.zip(path) return action(path, @@cmd_zip) end # Uncompress a compressed file using Gzip # === Arguments # [path] a file to be uncompressed. # === Return value # [true] succeeded # [false] failed def self.unzip(path) return action(path, @@cmd_unzip) end # subcontract method for zip, unzip # === Arguments # [path] a file to be compressed/uncompressed. # [cmd] path for zip or unzip command. # === Return value # [true] succeeded # [false] failed def self.action(path, cmd) if (FileTest.file?(path)) system("#{cmd} \"#{path}\"") return true else $stderr.puts "Error: #{path} is not a regular file." return false end end end