Module: Redisabel::Transformations
- Included in:
- KeyValue
- Defined in:
- lib/redisabel/transformations.rb
Class Method Summary collapse
- .detect_type(key) ⇒ Object
- .transform(key) ⇒ Object
- .transform_hash(key) ⇒ Object
- .transform_list(key) ⇒ Object
- .transform_set(key) ⇒ Object
- .transform_string(key) ⇒ Object
- .transform_zset(key, method = :zrange, first = 0, last = -1)) ⇒ Object
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 |