module Passzip

Constants

AvailableChars
VERSION

Public Class Methods

generate_password(length) click to toggle source
# File lib/passzip.rb, line 69
def generate_password(length)
  (1..length).map {AvailableChars.sample}.join
end
passfile(filename, password) click to toggle source
# File lib/passzip.rb, line 81
def passfile(filename, password)
  passfilename = get_passfilename(filename)
  File.open(passfilename, "w") do |file|
    file.puts password
  end
end
readpass(filename) click to toggle source
# File lib/passzip.rb, line 88
def readpass(filename)
  passfilename = get_passfilename(filename)
  pass = nil
  File.open(passfilename) do |file|
    pass = file.readline(chomp: true)
  end
  pass
end
zipfile(filename, password) click to toggle source
# File lib/passzip.rb, line 73
def zipfile(filename, password)
  zipfilename = filename + ".zip"
  success = system("zip", "-P", password, zipfilename, filename)
  if success.nil? || !success
    raise "Failed to execute zip command."
  end
end

Private Class Methods

get_passfilename(filename) click to toggle source
# File lib/passzip.rb, line 99
def self.get_passfilename(filename)
  filename + ".pass"
end

Private Instance Methods

generate_password(length) click to toggle source
# File lib/passzip.rb, line 69
def generate_password(length)
  (1..length).map {AvailableChars.sample}.join
end
passfile(filename, password) click to toggle source
# File lib/passzip.rb, line 81
def passfile(filename, password)
  passfilename = get_passfilename(filename)
  File.open(passfilename, "w") do |file|
    file.puts password
  end
end
readpass(filename) click to toggle source
# File lib/passzip.rb, line 88
def readpass(filename)
  passfilename = get_passfilename(filename)
  pass = nil
  File.open(passfilename) do |file|
    pass = file.readline(chomp: true)
  end
  pass
end
zipfile(filename, password) click to toggle source
# File lib/passzip.rb, line 73
def zipfile(filename, password)
  zipfilename = filename + ".zip"
  success = system("zip", "-P", password, zipfilename, filename)
  if success.nil? || !success
    raise "Failed to execute zip command."
  end
end