ohm 1.0.0.rc2 → 1.0.0.rc3

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 (3) hide show
  1. data/lib/ohm.rb +1 -3
  2. data/test/filtering.rb +13 -0
  3. metadata +10 -10
data/lib/ohm.rb CHANGED
@@ -1433,9 +1433,7 @@ module Ohm
1433
1433
  model.indices.each do |att|
1434
1434
  val = atts[att.to_s]
1435
1435
 
1436
- if val
1437
- model.key[:indices][att][val].srem(id)
1438
- end
1436
+ model.key[:indices][att][val].srem(id)
1439
1437
  end
1440
1438
  end
1441
1439
 
data/test/filtering.rb CHANGED
@@ -61,6 +61,19 @@ test "#except" do |john, jane|
61
61
  assert res.include?(jane)
62
62
  end
63
63
 
64
+ test "indices bug related to a nil attribute" do |john, jane|
65
+ # First we create a record with a nil attribute
66
+ out = User.create(:status => nil, :lname => "Doe")
67
+
68
+ # Then, we update the old nil attribute to a different
69
+ # non-nil, value.
70
+ out.update(status: "inactive")
71
+
72
+ # At this point, the index for the nil attribute should
73
+ # have been cleared.
74
+ assert_equal 0, User.db.scard("User:indices:status:")
75
+ end
76
+
64
77
  test "#union" do |john, jane|
65
78
  included = User.create(:status => "inactive", :lname => "Doe")
66
79
  excluded = User.create(:status => "super", :lname => "Doe")
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ohm
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0.rc2
4
+ version: 1.0.0.rc3
5
5
  prerelease: 6
6
6
  platform: ruby
7
7
  authors:
@@ -10,11 +10,11 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2012-04-06 00:00:00.000000000 Z
13
+ date: 2012-04-20 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: nest
17
- requirement: &2151942880 !ruby/object:Gem::Requirement
17
+ requirement: &70347702087860 !ruby/object:Gem::Requirement
18
18
  none: false
19
19
  requirements:
20
20
  - - ~>
@@ -22,10 +22,10 @@ dependencies:
22
22
  version: '1.0'
23
23
  type: :runtime
24
24
  prerelease: false
25
- version_requirements: *2151942880
25
+ version_requirements: *70347702087860
26
26
  - !ruby/object:Gem::Dependency
27
27
  name: scrivener
28
- requirement: &2151941460 !ruby/object:Gem::Requirement
28
+ requirement: &70347702087160 !ruby/object:Gem::Requirement
29
29
  none: false
30
30
  requirements:
31
31
  - - ~>
@@ -33,10 +33,10 @@ dependencies:
33
33
  version: 0.0.3
34
34
  type: :runtime
35
35
  prerelease: false
36
- version_requirements: *2151941460
36
+ version_requirements: *70347702087160
37
37
  - !ruby/object:Gem::Dependency
38
38
  name: cutest
39
- requirement: &2151940600 !ruby/object:Gem::Requirement
39
+ requirement: &70347702086580 !ruby/object:Gem::Requirement
40
40
  none: false
41
41
  requirements:
42
42
  - - ~>
@@ -44,10 +44,10 @@ dependencies:
44
44
  version: '0.1'
45
45
  type: :development
46
46
  prerelease: false
47
- version_requirements: *2151940600
47
+ version_requirements: *70347702086580
48
48
  - !ruby/object:Gem::Dependency
49
49
  name: batch
50
- requirement: &2151936780 !ruby/object:Gem::Requirement
50
+ requirement: &70347702086060 !ruby/object:Gem::Requirement
51
51
  none: false
52
52
  requirements:
53
53
  - - ~>
@@ -55,7 +55,7 @@ dependencies:
55
55
  version: 0.0.1
56
56
  type: :development
57
57
  prerelease: false
58
- version_requirements: *2151936780
58
+ version_requirements: *70347702086060
59
59
  description: Ohm is a library that allows to store an object in Redis, a persistent
60
60
  key-value database. It includes an extensible list of validations and has very good
61
61
  performance.