class Dpl::Zip

Constants

ZIP_EXT

Public Class Methods

new(*) click to toggle source
Calls superclass method
# File lib/dpl/helper/zip.rb, line 9
def initialize(*)
  require 'zip'
  super
end

Public Instance Methods

copy() click to toggle source
# File lib/dpl/helper/zip.rb, line 49
def copy
  FileUtils.cp(src, dest)
end
create(files) click to toggle source
# File lib/dpl/helper/zip.rb, line 32
def create(files)
  ::Zip::File.open(dest, ::Zip::File::CREATE) do |zip|
    files.each do |file|
      zip.add(file.sub("#{src}/", ''), file)
    end
  end
  File.new(dest)
end
dir?(path = src) click to toggle source
# File lib/dpl/helper/zip.rb, line 45
def dir?(path = src)
  File.directory?(path)
end
dot_match?() click to toggle source
# File lib/dpl/helper/zip.rb, line 59
def dot_match?
  opts[:dot_match]
end
exts() click to toggle source
# File lib/dpl/helper/zip.rb, line 63
def exts
  opts[:exts] ||= ZIP_EXT
end
glob() click to toggle source
# File lib/dpl/helper/zip.rb, line 53
def glob
  glob = ["#{src}/**/*"]
  glob << File::FNM_DOTMATCH if dot_match?
  glob
end
opts() click to toggle source
Calls superclass method
# File lib/dpl/helper/zip.rb, line 67
def opts
  super || {}
end
zip() click to toggle source
# File lib/dpl/helper/zip.rb, line 14
def zip
  if zip_file?
    File.new(src)
  elsif dir?
    zip_dir
  else
    zip_file
  end
end
zip_dir() click to toggle source
# File lib/dpl/helper/zip.rb, line 24
def zip_dir
  create(Dir.glob(*glob).reject { |path| dir?(path) })
end
zip_file() click to toggle source
# File lib/dpl/helper/zip.rb, line 28
def zip_file
  create([src])
end
zip_file?() click to toggle source
# File lib/dpl/helper/zip.rb, line 41
def zip_file?
  exts.include?(File.extname(src))
end