redis-roc 0.5.0 → 0.5.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -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
- self.keyspace[key.to_s][:map].delete(val)
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
- self.keyspace[key.to_s][:map].delete(val)
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
- self.exists(key) && !!self.keyspace[key.to_s].delete(field.to_s)
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
@@ -1,3 +1,3 @@
1
1
  module ROC
2
- VERSION = '0.5.0'
2
+ VERSION = '0.5.1'
3
3
  end
metadata CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
5
5
  segments:
6
6
  - 0
7
7
  - 5
8
- - 0
9
- version: 0.5.0
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-08 00:00:00 +01:00
17
+ date: 2011-08-15 00:00:00 +01:00
18
18
  default_executable:
19
19
  dependencies:
20
20
  - !ruby/object:Gem::Dependency