module Ratch::ZlibUtils

Public Class Methods

extended(base) click to toggle source
# File lib/ratch/utils/zlib.rb, line 11
def self.extended(base)
  included(base)
end
included(base) click to toggle source
# File lib/ratch/utils/zlib.rb, line 7
def self.included(base)
  require 'zlib'
end

Public Instance Methods

gzip(file, tofile=nil, options={}) click to toggle source

Create a gzip file.

# File lib/ratch/utils/zlib.rb, line 16
def gzip(file, tofile=nil, options={})
  noop, verbose = *util_options(options)

  tofile ||= File.basename(file) + '.gz'

  puts "gzip #{file}" if verbose

  file   = localize(file)
  tofile = localize(tofile)

  Zlib::GzipWriter.open(tofile) do |gz|
    gz.write(File.read(file))
  end unless noop

  return tofile
end
ungzip(file, options={}) click to toggle source

Unpack a gzip file.

# File lib/ratch/utils/zlib.rb, line 34
def ungzip(file, options={})
  noop, verbose = *util_options(options)

  fname = File.basename(file).chomp(File.extname(file))

  puts "ungzip #{file}" if verbose

  fname = localize(fname)
  file  = localize(file)

  Zlib::GzipReader.open(file) do |gz|
    File.open(fname, 'wb'){ |f| f << gz.read }
  end unless noop

  return fname
end