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 47
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
    message = _("Invalid username or password.")
    begin
      message = JSON.parse(ex.response.body)['error']['message'] 
    rescue
    end
    return UnauthorizedError.new(message)
  end
end
password(ask=nil) click to toggle source
# File lib/hammer_cli_foreman/api/interactive_basic_auth.rb, line 38
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 42
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 26
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 34
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 61
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 57
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 53
def get_user
  @user ||= ask_user(_("[Foreman] Username:%s") % " ")
end