Module: Redisabel::Transformations

Included in:
KeyValue
Defined in:
lib/redisabel/transformations.rb

Class Method Summary collapse

Class Method Details

.detect_type(key) ⇒ Object



4
5
6
# File 'lib/redisabel/transformations.rb', line 4

def detect_type(key)
  return Database.db.type(key)
end

.transform(key) ⇒ Object



9
10
11
12
# File 'lib/redisabel/transformations.rb', line 9

def transform(key)
  type = detect_type(key)
  return self.send("transform_#{type}", key)
end

.transform_hash(key) ⇒ Object



15
16
17
18
19
20
# 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) ⇒ Object



23
24
25
# File 'lib/redisabel/transformations.rb', line 23

def transform_list(key)
  return Database.db.lrange(key, 0, -1)
end

.transform_set(key) ⇒ Object



33
34
35
# File 'lib/redisabel/transformations.rb', line 33

def transform_set(key)
  return Database.db.smembers(key)
end

.transform_string(key) ⇒ Object



28
29
30
# 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)) ⇒ Object



38
39
40
41
42
43
44
45
# 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