Module: Imp::Util

Defined in:
lib/imp/util.rb

Overview

Contains misc. utility methods.

Class Method Summary collapse

Class Method Details

.mkdirs(dir) ⇒ Object

Creates as many directories as needed.

Parameters:

  • dir (String)

    The directory to create.



10
11
12
13
14
15
# File 'lib/imp/util.rb', line 10

def self.mkdirs(dir)
  return if Dir.exists? dir
  parent = File.dirname(dir)
  mkdirs(parent)
  Dir.mkdir(dir)
end

.read_passwd(desc = 'password') ⇒ String?

Reads a password from the user.

Parameters:

  • desc (String) (defaults to: 'password')

    The description of the password inserted into query texts.

Returns:

  • (String, nil)

    The password enetered, or nil if aborted.



22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
# File 'lib/imp/util.rb', line 22

def self.read_passwd(desc = 'password')
  first_pass = true
  pass1 = pass2 = nil
  until pass1 == pass2 && !first_pass
    unless first_pass
      puts "The pass did not match. Please try again."
    end
    pass1 = ask "Please enter the #{desc} (leave blank to cancel): " do |q|
      q.echo = false
    end
    return if pass1 == ''
    pass2 = ask "Re-enter the #{desc} to confirm: " do |q|
      q.echo = false
    end
    first_pass = false
  end
  return pass1
end