Class: Passcard::CLI

Inherits:
Thor
  • Object
show all
Defined in:
lib/passcard/cli.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.exit_on_failure?Boolean

Returns:

  • (Boolean)


3
# File 'lib/passcard/cli.rb', line 3

def self.exit_on_failure?; true; end

Instance Method Details

#generateObject



10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
# File 'lib/passcard/cli.rb', line 10

def generate
  file = options[:identity_file]
  if File.exist?(file) && !options[:force]
    raise Passcard::Error, "Identity file exists!"
  elsif File.exist?(file)
    say_status "WARNING", "Overwriting file at: #{file}", :yellow
  end

  unless secret = options[:secret_key]
    message = "Please, provide a secret key [Enter for none]:"
    secret  = ask(message).strip
    puts
  end

  opts = options.except(:secret_key, :identity_file) || {}
  Passcard.create!(secret, file, opts)
  say_status "SUCCESS", "Created Passcard key in: #{file}"
end

#view(identity_file) ⇒ Object



35
36
37
38
39
40
41
42
43
44
45
46
47
48
# File 'lib/passcard/cli.rb', line 35

def view(identity_file)
  unless secret = options[:secret_key]
    message = "Please, provide your secret key [Enter for none]:"
    secret  = ask(message).strip
    puts
  end

  data = Passcard.read!(secret, identity_file)
  puts data.send("to_#{options[:format]}", options)
rescue OpenSSL::Cipher::CipherError
  message  = "Seems like you entered the wrong secret key,\n"
  message += "or this does not seem to be a valid Passcard."
  raise Passcard::Error, message
end