Class/Module Index [+]

Quicksearch

Cinch::UserList

@since 2.0.0 @version 1.1.0 @note In prior versions, this class was called UserManager

Public Instance Methods

delete(user) click to toggle source

@api private @return [void]

# File lib/cinch/user_list.rb, line 63
def delete(user)
  @cache.delete_if {|n, u| u == user }
end
find(nick) click to toggle source

Finds a user.

@param [String] nick nick of a user @return [User, nil]

# File lib/cinch/user_list.rb, line 45
def find(nick)
  downcased_nick = nick.irc_downcase(@bot.irc.isupport["CASEMAPPING"])
  @mutex.synchronize do
    return @cache[downcased_nick]
  end
end
find_ensured(*args) click to toggle source

Finds or creates a user. @overload find_ensured(nick)

Finds or creates a user based on his nick.

@param [String] nick The user's nickname
@return [User]

@overload find_ensured(user, nick, host)

Finds or creates a user based on his nick but already
setting user and host.

@param [String] user The username
@param [String] nick The nickname
@param [String] host The user's hostname
@return [User]

@return [User] @see Bot#User

# File lib/cinch/user_list.rb, line 24
def find_ensured(*args)
  case args.size
  when 1
    nick = args.first
    bargs = [nick]
  when 3
    nick = args[1]
    bargs = args
  else
    raise ArgumentError
  end
  downcased_nick = nick.irc_downcase(@bot.irc.isupport["CASEMAPPING"])
  @mutex.synchronize do
    @cache[downcased_nick] ||= User.new(*bargs, @bot)
  end
end
update_nick(user) click to toggle source

@api private @return [void]

# File lib/cinch/user_list.rb, line 54
def update_nick(user)
  @mutex.synchronize do
    @cache.delete user.last_nick.irc_downcase(@bot.irc.isupport["CASEMAPPING"])
    @cache[user.nick.irc_downcase(@bot.irc.isupport["CASEMAPPING"])] = user
  end
end

[Validate]

Generated with the Darkfish Rdoc Generator 2.