class RailsKvsDriver::SortedSets::SortedSet

Attributes

driver_instance[RW]
key[RW]

Public Class Methods

new(driver_instance, key) click to toggle source

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

[](member) click to toggle source

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
[]=(member, score) click to toggle source

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, score) click to toggle source

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
each(reverse = false, limit = 1000) { |data, data, position| ... } click to toggle source

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
has_member?(member) click to toggle source

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, score) click to toggle source

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() click to toggle source

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
Also aliased as: size
members() click to toggle source

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) click to toggle source

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
size()
Alias for: length