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.
@@ -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