redis-roc 0.5.0 → 0.5.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.
- data/lib/roc/store/transient_store.rb +29 -4
- data/lib/roc/version.rb +1 -1
- metadata +3 -3
@@ -579,6 +579,11 @@ module ROC
|
|
579
579
|
self.keyspace[key.to_s].delete_at(i - correction)
|
580
580
|
correction += 1
|
581
581
|
end
|
582
|
+
|
583
|
+
if 0 == self.llen(key)
|
584
|
+
self.del(key)
|
585
|
+
end
|
586
|
+
|
582
587
|
indexes_to_del.size
|
583
588
|
else
|
584
589
|
0
|
@@ -721,7 +726,11 @@ module ROC
|
|
721
726
|
if hsh.nil?
|
722
727
|
false
|
723
728
|
else
|
724
|
-
!!hsh.delete(val.to_s)
|
729
|
+
ret = !!hsh.delete(val.to_s)
|
730
|
+
if 0 == hsh.size
|
731
|
+
self.del(key)
|
732
|
+
end
|
733
|
+
ret
|
725
734
|
end
|
726
735
|
end
|
727
736
|
end
|
@@ -1009,6 +1018,9 @@ module ROC
|
|
1009
1018
|
else
|
1010
1019
|
if hsh[:map].delete(val.to_s)
|
1011
1020
|
self.resort(key)
|
1021
|
+
if 0 == hsh[:list].size
|
1022
|
+
self.del(key)
|
1023
|
+
end
|
1012
1024
|
true
|
1013
1025
|
else
|
1014
1026
|
false
|
@@ -1020,10 +1032,14 @@ module ROC
|
|
1020
1032
|
def zremrangebyscore(key, min, max)
|
1021
1033
|
vals = self.zrangebyscore(key, min, max)
|
1022
1034
|
if vals.size > 0
|
1035
|
+
hsh = self.keyspace[key.to_s]
|
1023
1036
|
vals.each do |val|
|
1024
|
-
|
1037
|
+
hsh[:map].delete(val)
|
1025
1038
|
end
|
1026
1039
|
self.resort(key)
|
1040
|
+
if 0 == hsh[:list].size
|
1041
|
+
self.del(key)
|
1042
|
+
end
|
1027
1043
|
vals.size
|
1028
1044
|
else
|
1029
1045
|
0
|
@@ -1033,10 +1049,14 @@ module ROC
|
|
1033
1049
|
def zremrangebyrank(key, start, stop)
|
1034
1050
|
vals = self.zrange(key, start, stop)
|
1035
1051
|
if vals.size > 0
|
1052
|
+
hsh = self.keyspace[key.to_s]
|
1036
1053
|
vals.each do |val|
|
1037
|
-
|
1054
|
+
hsh[:map].delete(val)
|
1038
1055
|
end
|
1039
1056
|
self.resort(key)
|
1057
|
+
if 0 == hsh[:list].size
|
1058
|
+
self.del(key)
|
1059
|
+
end
|
1040
1060
|
vals.size
|
1041
1061
|
else
|
1042
1062
|
0
|
@@ -1163,7 +1183,12 @@ module ROC
|
|
1163
1183
|
|
1164
1184
|
def hdel(key, field)
|
1165
1185
|
with_type(key, 'hash') do
|
1166
|
-
|
1186
|
+
hsh = self.keyspace[key.to_s]
|
1187
|
+
ret = self.exists(key) && !!hsh.delete(field.to_s)
|
1188
|
+
if 0 == hsh.size
|
1189
|
+
self.del(key)
|
1190
|
+
end
|
1191
|
+
ret
|
1167
1192
|
end
|
1168
1193
|
end
|
1169
1194
|
|
data/lib/roc/version.rb
CHANGED
metadata
CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
|
|
5
5
|
segments:
|
6
6
|
- 0
|
7
7
|
- 5
|
8
|
-
-
|
9
|
-
version: 0.5.
|
8
|
+
- 1
|
9
|
+
version: 0.5.1
|
10
10
|
platform: ruby
|
11
11
|
authors:
|
12
12
|
- Ben Lund
|
@@ -14,7 +14,7 @@ autorequire:
|
|
14
14
|
bindir: bin
|
15
15
|
cert_chain: []
|
16
16
|
|
17
|
-
date: 2011-08-
|
17
|
+
date: 2011-08-15 00:00:00 +01:00
|
18
18
|
default_executable:
|
19
19
|
dependencies:
|
20
20
|
- !ruby/object:Gem::Dependency
|