Module: Passzip

Defined in:
lib/passzip.rb,
lib/passzip/version.rb

Constant Summary collapse

AvailableChars =
[
#    "0", # o, O
#    "1", # l, I
#    "2", # z, Z
  "3",
  "4",
#    "5", # s, S
#    "6", # b
  "7",
  "8",
  "9",
  "a",
#    "b", # 6
  "c",
  "d",
  "e",
  "f",
#    "g", # q
  "h",
  "i",
  "j",
#    "k", # K
#    "l", # 1, I
  "m",
  "n",
#    "o", # 0, O
  "p",
#    "q", # g
  "r",
#    "s", # 5, S
  "t",
  "u",
  "v",
  "w",
  "x",
  "y",
#    "z", # 2, Z
  "A",
  "B",
  "C",
  "D",
  "E",
  "F",
  "G",
  "H",
#    "I", # 1, l
  "J",
#    "K", # k
  "L",
  "M",
  "N",
#    "O", # 0, o
  "P",
  "Q",
  "R",
#    "S", # 5, s
  "T",
  "U",
  "V",
  "W",
  "X",
  "Y",
#    "Z", # 2, z
]
VERSION =
"0.2.0"

Class Method Summary collapse

Class Method Details

.generate_password(length) ⇒ Object



69
70
71
# File 'lib/passzip.rb', line 69

def generate_password(length)
  (1..length).map {AvailableChars.sample}.join
end

.passfile(filename, password) ⇒ Object



81
82
83
84
85
86
# 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) ⇒ Object



88
89
90
91
92
93
94
95
# 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) ⇒ Object



73
74
75
76
77
78
79
# 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