class EnhancedPrompt::Prompt::Token::User

Public Instance Methods

gid() click to toggle source
# File lib/enhanced_prompt/token/user.rb, line 48
def gid
  @gid = _passwd.gid
end
groupname() click to toggle source
# File lib/enhanced_prompt/token/user.rb, line 40
def groupname
  @groupname = _group.name
end
login_count() click to toggle source
# File lib/enhanced_prompt/token/user.rb, line 28
def login_count
  @login_count ||= _user_list.size
end
my_login_count() click to toggle source
# File lib/enhanced_prompt/token/user.rb, line 32
def my_login_count
  @my_login_count ||= _user_list.count{|user| user == username}
end
other_login_count() click to toggle source
# File lib/enhanced_prompt/token/user.rb, line 36
def other_login_count
  @other_login_count ||= login_count - my_login_count
end
other_usernames() click to toggle source
# File lib/enhanced_prompt/token/user.rb, line 16
def other_usernames
  @other_user_names ||= usernames - [username]
end
other_users_count() click to toggle source
# File lib/enhanced_prompt/token/user.rb, line 24
def other_users_count
  @other_users_count ||= users_count - 1
end
uid() click to toggle source
# File lib/enhanced_prompt/token/user.rb, line 44
def uid
  @uid = _passwd.uid
end
username() click to toggle source

Shows your username

# File lib/enhanced_prompt/token/user.rb, line 7
def username
  @username ||= ENV['USER'] || ENV['LOGNAME'] || Etc.getlogin
end
usernames() click to toggle source

Shows usernames currently in your system

# File lib/enhanced_prompt/token/user.rb, line 12
def usernames
  @user_names ||= _user_list.uniq
end
users_count() click to toggle source
# File lib/enhanced_prompt/token/user.rb, line 20
def users_count
  @users_count ||= usernames.size
end

Private Instance Methods

_group() click to toggle source
# File lib/enhanced_prompt/token/user.rb, line 62
def _group
  @group ||= Etc.getgrgid(gid)
end
_other_users() click to toggle source
# File lib/enhanced_prompt/token/user.rb, line 70
def _other_users

end
_passwd() click to toggle source
# File lib/enhanced_prompt/token/user.rb, line 53
def _passwd
  if @passwd.nil?
    Etc.passwd{|g| @passwd = g if g.name == username}
    @passwd
  else
    @passwd
  end
end
_user_list() click to toggle source

TODO: need proper error handling

# File lib/enhanced_prompt/token/user.rb, line 75
def _user_list
  @user_list ||= %x|who|.lines.map{|line|line.split.first}
end
_users() click to toggle source
# File lib/enhanced_prompt/token/user.rb, line 66
def _users
  _user_list.size
end