class SimplyGenius::Atmos::Commands::Otp

Public Class Methods

description() click to toggle source
# File lib/simplygenius/atmos/commands/otp.rb, line 11
def self.description
  "Generates an otp token for the given user"
end

Public Instance Methods

execute() click to toggle source
# File lib/simplygenius/atmos/commands/otp.rb, line 29
        def execute
          code = nil
          if secret
            Atmos::Otp.instance.add(name, secret)
            code = Atmos::Otp.instance.generate(name)
            Atmos::Otp.instance.save
          else
            code = Atmos::Otp.instance.generate(name)
          end

          if code.nil?
            signal_usage_error <<~EOF
              No otp secret has been setup for #{name}
              Use the -m flag to 'atmos user create' to create/activate one
              or associate an existing secret with 'atmos otp -s <secret> <name>'
            EOF
          else
            puts code
          end

          if clipboard?
            Clipboard.copy(code)
          end
        end