class HammerCLIForeman::Api::InteractiveBasicAuth

Public Instance Methods

authenticate(request, args) click to toggle source
Calls superclass method
# File lib/hammer_cli_foreman/api/interactive_basic_auth.rb, line 6
def authenticate(request, args)
  if HammerCLI.interactive?
    get_user
    get_password
  end
  super
end
clear() click to toggle source
# File lib/hammer_cli_foreman/api/interactive_basic_auth.rb, line 42
def clear
  set_credentials(nil, nil)
end
error(ex) click to toggle source
# File lib/hammer_cli_foreman/api/interactive_basic_auth.rb, line 14
def error(ex)
  if ex.is_a?(RestClient::Unauthorized)
    self.clear
    return UnauthorizedError.new(_("Invalid username or password."))
  end
end
password(ask=nil) click to toggle source
# File lib/hammer_cli_foreman/api/interactive_basic_auth.rb, line 33
def password(ask=nil)
  @password ||= ask && get_password
end
set_credentials(user, password) click to toggle source
# File lib/hammer_cli_foreman/api/interactive_basic_auth.rb, line 37
def set_credentials(user, password)
  @user = user
  @password = password
end
status() click to toggle source
# File lib/hammer_cli_foreman/api/interactive_basic_auth.rb, line 21
def status
  unless @user.nil? || @password.nil?
    _("Using configured credentials for user '%s'.") % @user
  else
    _("Credentials are not configured.")
  end
end
user(ask=nil) click to toggle source
# File lib/hammer_cli_foreman/api/interactive_basic_auth.rb, line 29
def user(ask=nil)
  @user ||= ask && get_user
end

Private Instance Methods

ask_user(prompt, silent=false) click to toggle source
# File lib/hammer_cli_foreman/api/interactive_basic_auth.rb, line 56
def ask_user(prompt, silent=false)
  if silent
    ask(prompt) {|q| q.echo = false}
  else
    ask(prompt)
  end
end
get_password() click to toggle source
# File lib/hammer_cli_foreman/api/interactive_basic_auth.rb, line 52
def get_password
  @password ||= ask_user(_("[Foreman] Password for %{user}:%{wsp}") % {:user => @user, :wsp => " "}, true)
end
get_user() click to toggle source
# File lib/hammer_cli_foreman/api/interactive_basic_auth.rb, line 48
def get_user
  @user ||= ask_user(_("[Foreman] Username:%s") % " ")
end