class RHC::Auth::Basic

Attributes

options[R]
password[R]
username[R]

Public Class Methods

new(*args) click to toggle source
# File lib/rhc/auth/basic.rb, line 3
def initialize(*args)
  if args[0].is_a?(String) or args.length > 1
    @username, @password = args
  else
    @options = args[0] || Commander::Command::Options.new
    @username = options[:rhlogin]
    @password = options[:password]
    @no_interactive = options[:noprompt]
  end
  @skip_interactive = !@password.nil?
end

Public Instance Methods

can_authenticate?() click to toggle source
# File lib/rhc/auth/basic.rb, line 31
def can_authenticate?
  username? and not (password.nil? and @skip_interactive and @no_interactive)
end
expired_token_message() click to toggle source
# File lib/rhc/auth/basic.rb, line 35
def expired_token_message
  "Your authorization token has expired. Please sign in now to continue on #{openshift_server}."
end
get_token_message() click to toggle source
# File lib/rhc/auth/basic.rb, line 39
def get_token_message
  "Please sign in to start a new session to #{openshift_server}."
end
retry_auth?(response, client) click to toggle source
# File lib/rhc/auth/basic.rb, line 23
def retry_auth?(response, client)
  if response && response.status != 401
    false
  else
    credentials_rejected
  end
end
to_request(request, client=nil) click to toggle source
# File lib/rhc/auth/basic.rb, line 15
def to_request(request, client=nil)
  request[:user] ||=
    lambda{ username || (request[:lazy_auth] != true && ask_username) || nil }
  request[:password] ||=
    lambda{ password || (username? && request[:lazy_auth] != true && ask_password) || nil }
  request
end
token_store_user_key() click to toggle source
# File lib/rhc/auth/basic.rb, line 43
def token_store_user_key
  username
end

Protected Instance Methods

ask_password() click to toggle source
# File lib/rhc/auth/basic.rb, line 65
def ask_password
  @password = ask("Password: ") { |q|
    q.echo = '*'
    q.whitespace = :chomp
  } unless @no_interactive
end
ask_username() click to toggle source
# File lib/rhc/auth/basic.rb, line 62
def ask_username
  @username = ask("Login to #{openshift_server}: ") unless @no_interactive
end
credentials_rejected() click to toggle source
# File lib/rhc/auth/basic.rb, line 53
def credentials_rejected
  error "Username or password is not correct" if username? && password
  unless @skip_interactive or @no_interactive
    ask_username unless username?
    ask_password
    true
  end
end
username?() click to toggle source
# File lib/rhc/auth/basic.rb, line 72
def username?
  username.present?
end