class KBSecret::CLI::Command::Pass
The implementation of `kbsecret pass`.
Public Class Methods
new(argv)
click to toggle source
Calls superclass method
KBSecret::CLI::Command::Abstract::new
# File lib/kbsecret/cli/command/pass.rb, line 10 def initialize(argv) super(argv) do |cli| cli.slop do |o| o.banner = <<~HELP Usage: kbsecret pass [options] <record> HELP o.string "-s", "--session", "the session to search in", default: :default o.bool "-c", "--clipboard", "dump the password in the clipboard" o.bool "-C", "--no-clear", "don't clear the password from the clipboard" end cli.dreck do string :label end cli.ensure_session! end end
Public Instance Methods
run!()
click to toggle source
# File lib/kbsecret/cli/command/pass.rb, line 42 def run! if cli.opts.clipboard? Clipboard.copy @record.password unless cli.opts.no_clear? fork do Process.daemon sleep 10 Clipboard.clear end end else puts @record.password end end
setup!()
click to toggle source
# File lib/kbsecret/cli/command/pass.rb, line 32 def setup! @record = cli.session[cli.args[:label]] end
validate!()
click to toggle source
@see Command::Abstract#validate!
# File lib/kbsecret/cli/command/pass.rb, line 37 def validate! cli.die "No such login record." unless @record && @record.type == :login end