ohm 0.0.36 → 0.0.37

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/ohm.rb CHANGED
@@ -9,7 +9,7 @@ require File.join(File.dirname(__FILE__), "ohm", "key")
9
9
  require File.join(File.dirname(__FILE__), "ohm", "collection")
10
10
 
11
11
  module Ohm
12
- VERSION = "0.0.36"
12
+ VERSION = "0.0.37"
13
13
 
14
14
  # Provides access to the Redis database. This is shared accross all models and instances.
15
15
  def redis
@@ -290,7 +290,7 @@ module Ohm
290
290
  # @overload assert_unique [:street, :city]
291
291
  # Validates that the :street and :city pair is unique.
292
292
  def assert_unique(attrs)
293
- result = db.sinter(*Array(attrs).map { |att| index_key_for(att, send(att)) })
293
+ result = db.sinter(*Array(attrs).map { |att| index_key_for(att, send(att)) }) || []
294
294
  assert result.empty? || !new? && result.include?(id.to_s), [attrs, :not_unique]
295
295
  end
296
296
  end
@@ -786,10 +786,11 @@ module Ohm
786
786
  end
787
787
 
788
788
  def delete_from_indices
789
- db.smembers(key(:_indices)).each do |index|
789
+ (db.smembers(key(:_indices)) || []).each do |index|
790
790
  db.srem(index, id)
791
- db.srem(key(:_indices), index)
792
791
  end
792
+
793
+ db.del(key(:_indices))
793
794
  end
794
795
 
795
796
  def read_local(att)
@@ -124,7 +124,7 @@ module Ohm
124
124
 
125
125
  # @return [Array] Elements of the list.
126
126
  def all
127
- db.lrange(key, 0, -1)
127
+ db.lrange(key, 0, -1) || []
128
128
  end
129
129
 
130
130
  # @return [Integer] Returns the number of elements in the list.
@@ -171,7 +171,7 @@ module Ohm
171
171
  end
172
172
 
173
173
  def all
174
- db.smembers(key)
174
+ db.smembers(key) || []
175
175
  end
176
176
 
177
177
  # @return [Integer] Returns the number of elements in the set.
data/test/model_test.rb CHANGED
@@ -277,8 +277,8 @@ class TestRedis < Test::Unit::TestCase
277
277
 
278
278
  assert_nil Ohm.redis.get(ModelToBeDeleted.key(id))
279
279
  assert_nil Ohm.redis.get(ModelToBeDeleted.key(id, :name))
280
- assert_equal Array.new, Ohm.redis.smembers(ModelToBeDeleted.key(id, :foos))
281
- assert_equal Array.new, Ohm.redis.lrange(ModelToBeDeleted.key(id, :bars), 0, -1)
280
+ assert !Ohm.redis.exists(ModelToBeDeleted.key(id, :foos))
281
+ assert !Ohm.redis.exists(ModelToBeDeleted.key(id, :bars))
282
282
 
283
283
  assert ModelToBeDeleted.all.empty?
284
284
  end
@@ -297,7 +297,12 @@ class TestRedis < Test::Unit::TestCase
297
297
 
298
298
  Foo[1].delete
299
299
 
300
- assert_equal ["Foo:id"], Ohm.redis.keys("*")
300
+ keys = Ohm.redis.keys("*")
301
+
302
+ assert !keys.include?("Foo:1:_indices")
303
+ assert !keys.include?("Foo:1:name")
304
+
305
+ assert_equal "1", Ohm.redis.get("Foo:id")
301
306
  end
302
307
  end
303
308
 
metadata CHANGED
@@ -1,12 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ohm
3
3
  version: !ruby/object:Gem::Version
4
+ hash: 85
4
5
  prerelease: false
5
6
  segments:
6
7
  - 0
7
8
  - 0
8
- - 36
9
- version: 0.0.36
9
+ - 37
10
+ version: 0.0.37
10
11
  platform: ruby
11
12
  authors:
12
13
  - Michel Martens
@@ -15,7 +16,7 @@ autorequire:
15
16
  bindir: bin
16
17
  cert_chain: []
17
18
 
18
- date: 2010-07-02 00:00:00 -03:00
19
+ date: 2010-07-07 00:00:00 -03:00
19
20
  default_executable:
20
21
  dependencies:
21
22
  - !ruby/object:Gem::Dependency
@@ -26,6 +27,7 @@ dependencies:
26
27
  requirements:
27
28
  - - ">="
28
29
  - !ruby/object:Gem::Version
30
+ hash: 31
29
31
  segments:
30
32
  - 1
31
33
  - 0
@@ -41,6 +43,7 @@ dependencies:
41
43
  requirements:
42
44
  - - ~>
43
45
  - !ruby/object:Gem::Version
46
+ hash: 9
44
47
  segments:
45
48
  - 0
46
49
  - 1
@@ -92,6 +95,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
92
95
  requirements:
93
96
  - - ">="
94
97
  - !ruby/object:Gem::Version
98
+ hash: 3
95
99
  segments:
96
100
  - 0
97
101
  version: "0"
@@ -100,6 +104,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
100
104
  requirements:
101
105
  - - ">="
102
106
  - !ruby/object:Gem::Version
107
+ hash: 3
103
108
  segments:
104
109
  - 0
105
110
  version: "0"