- Added ability to store optional member data alongside the leaderboard data.
:with_member_data
is now a valid request option when retrieving leader data.
- Added accessor for
reverse
option so that you can set reverse after creating a leaderboard to see results in either highest-to-lowest or lowest-to-highest order.
- Added
rank_members(members_and_scores)
andrank_members_in(leaderboard_name, members_and_scores)
allowing you to pass in some variable number ofmember_name, score
and so on or an actual array of those data items. Use this method to do bulk insert of data, but be mindful of the amount of data you are inserting since a single transaction can get quite large.
- Added
page_for(member, page_size = DEFAULT_PAGE_SIZE)
andpage_for_in(leaderboard_name, member, page_size = DEFAULT_PAGE_SIZE)
calls to allow you to determine the page where a member falls in the leaderboard
- Added
:reverse => false
toLeaderboard::DEFAULT_OPTIONS
to support leaderboards sorted from lowest to highest score instead of highest to lowest score. (Thanks @siuying)
- Fix for checking to see if a member actually exists in the leaderboard for the
around_me
calls - Return appropriate
nil
in data returned for calls such aspercentile_for
andranked_in_list
for non-existent members
- Allow for only single options to be passed to
leaders
,around_me
andranked_in_list
methods - agoragames#4 - Added
percentile_for(member)
andpercentile_for_in(leaderboard_name, member)
methods to calculate percentile for a given member
- Change
add_member
torank_member
- agoragames#3 - Added
delete_leaderboard
anddelete_leaderboard_named
- agoragames#2 - Ability to pass in an existing Redis connection in initializer - agoragames#1
- Added transaction support for
score_and_rank_for
,leaders
,around_me
andranked_in_list
- Updated initializer to take a leaderboard name,
options
hash andredis_options
hash - Simplified
leaders
,around_me
andranked_in_list
to use anoptions
hash with defaults for the previously individual parameters
- Added
disconnect
method - Check for invalid page size when changing
- Updated Rakefile to run tests under ruby 1.8.7 and ruby 1.9.2
- Added
page_size
parameter tototal_pages_in
to allow for checking what if values in that scenario - Added
page_size
parameter toleaders
andaround_me
calls
- Minor bug fix
- Fixing issue using total_pages in leaderboard_in call
- Internal
massage_leader_data
method will now respectwith_scores
- Adding
XXX_to
,XXX_for
,XXX_in
andXXX_from
methods that will allow you to set the leaderboard name to interact with outside of creating a new object - Added
merge_leaderboards(destination, keys, options = {:aggregate => :min})
method to merge leaderboards given by keys with this leaderboard into destination - Added
intersect_leaderboards(destination, keys, options = {:aggregate => :min})
method to intersect leaderboards given by keys with this leaderboard into destination
redis_options
can be passed in the initializer to pass options for the connection to Redispage_size
is now settable outside of the initializercheck_member?(member)
: Check to see whether member is in the leaderboardscore_and_rank_for(member, use_zero_index_for_rank = false)
: Retrieve the score and rank for a member in a single callremove_members_in_score_range(min_score, max_score)
: Remove members from the leaderboard within a score range
- Initial release