- Identify client class and send appropriate zadd command. Resolves #17.
- Added
score_for_percentile
method to be able to calculate the score for a given percentile value in the leaderboard.
- Added
rank_member_across
method to be able to rank a member across multiple leaderboards at once. - Fixed bugs in
leaders_in
andaround_me_in
methods that would not correctly use theleaderboard_name
argument.
- Added
remove_members_outside_rank
method to remove members from the leaderboard outside a given rank.
- Added
members_only
option for various leaderboard requests - HT: Simon Zimmerman leaders
call should return[]
in case of an empty result set - HT: Simon Zimmerman- Initializer no longer deep copies options - HT: Simon Zimmerman
- Fixed a data leak in
expire_leaderboard
andexpire_leaderboard_at
to also set expiration on the member data hash.
- Updated
remove_member
to also remove the optional member data for the member being removed.
- Added
rank_member_if
andrank_member_if_in
methods that allow you to rank a member in the leaderboard based on execution of a function. - Added
rank_members
andrank_members_in
methods that allow you to rank multiple members in a leaderboard at once by passing in an array of members and scores.
- No longer cast scores to a floating point automatically. If requesting a score for an unknown member in the leaderboard, return
None
. Under the old behavior, aNone
score gets returned as 0.0. This is misleading as 0.0 is a valid score. - Fixes a bug in
ranked_in_list
when requesting a list with an unknown member.
- Remove unnecessary options from
score_and_rank_for
method
- Port missing functionality from Ruby leaderboard project to Python.
- Feature and data parity should exist between these two implementations.