class RailsKvsDriver::SortedSets::SortedSet
Attributes
Public Class Methods
initialize sorted_set
@param driver_instance
[RailsKvsDriver::Base] instance of driver. @param key [String] key of sorted_set.
# File lib/rails_kvs_driver/sorted_sets/sorted_set.rb, line 13 def initialize(driver_instance, key) @driver_instance = driver_instance @key = key end
Public Instance Methods
get score of member. when the key or member doesn’t exist, return 0.
@param member [String] member of sorted_set. @return [Integer] score.
# File lib/rails_kvs_driver/sorted_sets/sorted_set.rb, line 23 def [](member) @driver_instance.get_sorted_set_score(@key, member) end
add member in sorted_set. when the key doesn’t exist, it’s made newly.
@param member [String] member of sorted_set. @param score [Flaot] default score. @return [Float] score.
# File lib/rails_kvs_driver/sorted_sets/sorted_set.rb, line 33 def []=(member, score) @driver_instance.add_sorted_set(@key, member, score) return score end
decrement member’s score of sorted set.
@param member [String] member of sorted set. @param score [Float] decrement score @return [Float] score after decrement.
# File lib/rails_kvs_driver/sorted_sets/sorted_set.rb, line 76 def decrement(member, score) @driver_instance.increment_sorted_set(@key, member, score*-1) end
execute the block of code for each member of sorted set.
@param reverse [Boolean] order by desc. (default=false(acs)) @param limit [Integer] limit number to acquire at a time. (default=1000) @param &block [{|member, score, position| }] each the block of code for each member of sorted set.
# File lib/rails_kvs_driver/sorted_sets/sorted_set.rb, line 43 def each(reverse = false, limit = 1000) count = length position = 0 while position < count @driver_instance.get_sorted_set(@key, position, position + (limit-1), reverse).each do |data| yield data[0], data[1], position position += 1 end end end
check having member.
@return [Boolean] result
# File lib/rails_kvs_driver/sorted_sets/sorted_set.rb, line 58 def has_member?(member) members.include?(member) end
increment member’s score of sorted set.
@param member [String] member of sorted set. @param score [Float] increment score @return [Float] score after increment.
# File lib/rails_kvs_driver/sorted_sets/sorted_set.rb, line 67 def increment(member, score) @driver_instance.increment_sorted_set(@key, member, score) end
length of sorted_set
@return [Integer] length of sorted_set
# File lib/rails_kvs_driver/sorted_sets/sorted_set.rb, line 83 def length @driver_instance.count_sorted_set_member(@key) end
get all member. @return [Array<String>] array of member.
# File lib/rails_kvs_driver/sorted_sets/sorted_set.rb, line 89 def members members = Array.new each{|member| members.push(member)} return members end
remove member of sorted_set.
@param member [String] member of sorted_set.
# File lib/rails_kvs_driver/sorted_sets/sorted_set.rb, line 98 def remove(member) @driver_instance.remove_sorted_set(@key, member) end