module Redisabel::Transformations

Public Class Methods

detect_type(key) click to toggle source
# File lib/redisabel/transformations.rb, line 4
def detect_type(key)
  return Database.db.type(key)
end
transform(key) click to toggle source
# File lib/redisabel/transformations.rb, line 9
def transform(key)
  type = detect_type(key)
  return self.send("transform_#{type}", key)
end
transform_hash(key) click to toggle source
# File lib/redisabel/transformations.rb, line 15
def transform_hash(key)
  db = Database.db
  keys = db.hkeys(key)
  values = db.hvals(key)
  return keys.zip(values).to_h
end
transform_list(key) click to toggle source
# File lib/redisabel/transformations.rb, line 23
def transform_list(key)
  return Database.db.lrange(key, 0, -1)
end
transform_set(key) click to toggle source
# File lib/redisabel/transformations.rb, line 33
def transform_set(key)
  return Database.db.smembers(key)
end
transform_string(key) click to toggle source
# File lib/redisabel/transformations.rb, line 28
def transform_string(key)
  return Database.db.get(key)
end
transform_zset(key, method=:zrange, first=0, last=-1) click to toggle source
# File lib/redisabel/transformations.rb, line 38
def transform_zset(key, method=:zrange, first=0, last=-1)
  return Database.db.send(method, key, first, last, :withscores => true).
    reduce({}) do |acc, (v, k)|

    acc[k.to_i] = v
    acc
  end
end

Private Instance Methods

detect_type(key) click to toggle source
# File lib/redisabel/transformations.rb, line 4
def detect_type(key)
  return Database.db.type(key)
end
transform(key) click to toggle source
# File lib/redisabel/transformations.rb, line 9
def transform(key)
  type = detect_type(key)
  return self.send("transform_#{type}", key)
end
transform_hash(key) click to toggle source
# File lib/redisabel/transformations.rb, line 15
def transform_hash(key)
  db = Database.db
  keys = db.hkeys(key)
  values = db.hvals(key)
  return keys.zip(values).to_h
end
transform_list(key) click to toggle source
# File lib/redisabel/transformations.rb, line 23
def transform_list(key)
  return Database.db.lrange(key, 0, -1)
end
transform_set(key) click to toggle source
# File lib/redisabel/transformations.rb, line 33
def transform_set(key)
  return Database.db.smembers(key)
end
transform_string(key) click to toggle source
# File lib/redisabel/transformations.rb, line 28
def transform_string(key)
  return Database.db.get(key)
end
transform_zset(key, method=:zrange, first=0, last=-1) click to toggle source
# File lib/redisabel/transformations.rb, line 38
def transform_zset(key, method=:zrange, first=0, last=-1)
  return Database.db.send(method, key, first, last, :withscores => true).
    reduce({}) do |acc, (v, k)|

    acc[k.to_i] = v
    acc
  end
end