class Dmp::CLI
Command line interface for DMP
Public Instance Methods
about()
click to toggle source
# File lib/dmp/cli.rb, line 70 def about puts Dmp::BANNER.bold.red puts 'version: '.bold + Dmp::VERSION.green puts 'author: '.bold + '@__franccesco'.green puts 'homepage: '.bold + 'https://github.com/franccesco/dmp'.green puts 'learn more: '.bold + 'https://codingdose.info'.green puts # extra line, somehow I like them. end
check_pass()
click to toggle source
# File lib/dmp/cli.rb, line 57 def check_pass puts "Enter your password, press ENTER when you're done." password = ask('Password (hidden):'.yellow, echo: false) (puts "Aborted.".red.bold; exit) if password.empty? dataset_count = Dmp.check_pwned(password) vuln_msg = "Your password appears in #{dataset_count} datasets!".red.bold safe_msg = "Your password was not found in a dataset.".green.bold puts dataset_count ? vuln_msg : safe_msg end
gen_pass(pass_length = 7)
click to toggle source
# File lib/dmp/cli.rb, line 29 def gen_pass(pass_length = 7) new_passphrase = Dmp.gen_passphrase(pass_length.to_i) Clipboard.copy(new_passphrase.join(' ')) if options[:clipboard] dataset_count = Dmp.check_pwned(new_passphrase) if options[:hibp] colors = String.colors colors.delete(:black) # black color looks ugly in the terminal new_passphrase.map! do |phrase| random_color = colors.sample phrase.colorize(random_color) end copy_msg = '- Copied to clipboard.'.bold.green vuln_pass_msg = "- WARNING: Passphrase appears in #{dataset_count} datasets!".red.bold safe_pass_msg = '- Password was not found in a dataset.'.green.bold puts '- Passphrase: '.bold + new_passphrase.join(' ') puts copy_msg if options[:clipboard] puts dataset_count ? vuln_pass_msg : safe_pass_msg if options[:hibp] end