ruby-redis 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (48) hide show
  1. data/LICENSE +9 -0
  2. data/README +90 -0
  3. data/bin/ruby-redis +12 -0
  4. data/bin/ruby-redis.compiled.rbc +243 -0
  5. data/lib/redis/bin.rb +74 -0
  6. data/lib/redis/bin.rbc +1325 -0
  7. data/lib/redis/buftok.rbc +2658 -0
  8. data/lib/redis/config.rb +46 -0
  9. data/lib/redis/config.rbc +1009 -0
  10. data/lib/redis/connection.rb +69 -0
  11. data/lib/redis/connection.rbc +1354 -0
  12. data/lib/redis/database.rb +109 -0
  13. data/lib/redis/database.rbc +2275 -0
  14. data/lib/redis/hashes.rb +72 -0
  15. data/lib/redis/hashes.rbc +1843 -0
  16. data/lib/redis/hiredis.rbc +658 -0
  17. data/lib/redis/keys.rb +165 -0
  18. data/lib/redis/keys.rbc +3386 -0
  19. data/lib/redis/lists.rb +227 -0
  20. data/lib/redis/lists.rbc +5241 -0
  21. data/lib/redis/logger.rb +81 -0
  22. data/lib/redis/logger.rbc +2106 -0
  23. data/lib/redis/protocol.rb +170 -0
  24. data/lib/redis/protocol.rbc +3735 -0
  25. data/lib/redis/pubsub.rb +153 -0
  26. data/lib/redis/pubsub.rbc +3447 -0
  27. data/lib/redis/reader.rb +164 -0
  28. data/lib/redis/reader.rbc +2769 -0
  29. data/lib/redis/send.rbc +1268 -0
  30. data/lib/redis/sender.rb +49 -0
  31. data/lib/redis/sender.rbc +1057 -0
  32. data/lib/redis/server.rb +62 -0
  33. data/lib/redis/server.rbc +1177 -0
  34. data/lib/redis/sets.rb +105 -0
  35. data/lib/redis/sets.rbc +2800 -0
  36. data/lib/redis/strict.rb +67 -0
  37. data/lib/redis/strict.rbc +1419 -0
  38. data/lib/redis/strings.rb +144 -0
  39. data/lib/redis/strings.rbc +3338 -0
  40. data/lib/redis/synchrony.rb +58 -0
  41. data/lib/redis/synchrony.rbc +1397 -0
  42. data/lib/redis/version.rb +7 -0
  43. data/lib/redis/version.rbc +180 -0
  44. data/lib/redis/zsets.rb +281 -0
  45. data/lib/redis/zsets.rbc +6596 -0
  46. data/lib/redis.rb +215 -0
  47. data/lib/redis.rbc +4391 -0
  48. metadata +117 -0
@@ -0,0 +1,72 @@
1
+ require File.expand_path '../redis', File.dirname(__FILE__)
2
+
3
+ class Redis
4
+ module Hashes
5
+
6
+ def redis_HSET key, field, value
7
+ hash = @database[key] ||= {}
8
+ result = !hash.has_key?(field)
9
+ hash[field] = value
10
+ result
11
+ end
12
+
13
+ def redis_HEXISTS key, field
14
+ (@database[key] || {}).has_key? field
15
+ end
16
+
17
+ def redis_HSETNX key, field, value
18
+ hash = @database[key] || {}
19
+ return false if hash.has_key? field
20
+ redis_HSET key, field, value
21
+ return true
22
+ end
23
+
24
+ def redis_HKEYS key
25
+ (@database[key] || {}).keys
26
+ end
27
+
28
+ def redis_HVALS key
29
+ (@database[key] || {}).values
30
+ end
31
+
32
+ def redis_HMSET key, *args
33
+ (@database[key] ||= {}).merge! Hash[*args]
34
+ Response::OK
35
+ end
36
+
37
+ def redis_HMGET key, *fields
38
+ hash = (@database[key] || {})
39
+ redis_t Hash, hash
40
+ fields.collect do |field|
41
+ hash[field]
42
+ end
43
+ end
44
+
45
+ def redis_HLEN key
46
+ (@database[key] || {}).size
47
+ end
48
+
49
+ def redis_HGET key, field
50
+ (@database[key] || {})[field]
51
+ end
52
+
53
+ def redis_HGETALL key
54
+ @database[key] || {}
55
+ end
56
+
57
+ def redis_HDEL key, field
58
+ hash = @database[key] || {}
59
+ result = hash.has_key? field
60
+ hash.delete field
61
+ result
62
+ end
63
+
64
+ def redis_HINCRBY key, field, increment
65
+ hash = @database[key] ||= {}
66
+ value = redis_i(hash[field] ||= 0)
67
+ value += redis_i increment
68
+ hash[field] = value
69
+ end
70
+
71
+ end
72
+ end