remodel-h 0.2.1 → 0.2.2

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/VERSION CHANGED
@@ -1 +1 @@
1
- 0.2.1
1
+ 0.2.2
@@ -41,6 +41,9 @@ module Remodel
41
41
  def delete
42
42
  raise EntityNotSaved unless @key
43
43
  Remodel.redis.hdel(@context, @key)
44
+ instance_variables.each do |var|
45
+ Remodel.redis.hdel(@context, var.sub('@association', @key)) if var =~ /^@association_/
46
+ end
44
47
  end
45
48
 
46
49
  def as_json
data/remodel-h.gemspec CHANGED
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{remodel-h}
8
- s.version = "0.2.1"
8
+ s.version = "0.2.2"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Tim Lossen"]
12
- s.date = %q{2010-07-21}
12
+ s.date = %q{2010-08-12}
13
13
  s.default_executable = %q{redis-monitor.rb}
14
14
  s.description = %q{persist your objects to redis hashes.}
15
15
  s.email = %q{tim@lossen.de}
@@ -35,6 +35,7 @@ Gem::Specification.new do |s|
35
35
  "remodel-h.gemspec",
36
36
  "test/helper.rb",
37
37
  "test/test_entity.rb",
38
+ "test/test_entity_delete.rb",
38
39
  "test/test_many_to_many.rb",
39
40
  "test/test_many_to_one.rb",
40
41
  "test/test_mappers.rb",
@@ -50,6 +51,7 @@ Gem::Specification.new do |s|
50
51
  s.test_files = [
51
52
  "test/helper.rb",
52
53
  "test/test_entity.rb",
54
+ "test/test_entity_delete.rb",
53
55
  "test/test_many_to_many.rb",
54
56
  "test/test_many_to_one.rb",
55
57
  "test/test_mappers.rb",
data/test/test_entity.rb CHANGED
@@ -173,22 +173,6 @@ class TestEntity < Test::Unit::TestCase
173
173
  end
174
174
  end
175
175
 
176
- context "delete" do
177
- setup do
178
- redis.flushdb
179
- @foo = Foo.create('cx', :x => 'Tim', :y => true)
180
- end
181
-
182
- should "delete the given entity" do
183
- @foo.delete
184
- assert_nil redis.hget(@foo.context, @foo.key)
185
- end
186
-
187
- should "ensure that the entity is persistent" do
188
- assert_raise(Remodel::EntityNotSaved) { Foo.new('cx').delete }
189
- end
190
- end
191
-
192
176
  context "to_json" do
193
177
  should "serialize to json" do
194
178
  foo = Foo.new('cx', :x => 42, :y => true)
@@ -0,0 +1,45 @@
1
+ require 'helper'
2
+
3
+ class TestEntityDelete < Test::Unit::TestCase
4
+
5
+ class Group < Remodel::Entity
6
+ has_many :members, :class => 'TestEntityDelete::Person'
7
+ has_one :room, :class => 'TestEntityDelete::Room'
8
+ property :name
9
+ end
10
+
11
+ class Person < Remodel::Entity
12
+ property :name
13
+ end
14
+
15
+ class Room < Remodel::Entity
16
+ property :name
17
+ end
18
+
19
+ context "delete" do
20
+ setup do
21
+ redis.flushdb
22
+ @group = Group.create('cx', :name => 'ruby user group')
23
+ @group.members.create(:name => 'Tim')
24
+ @group.members.create(:name => 'Ben')
25
+ @group.room = Room.create(:name => 'some office')
26
+ end
27
+
28
+ should "ensure that the entity is persistent" do
29
+ assert_raise(Remodel::EntityNotSaved) { Group.new('cx').delete }
30
+ end
31
+
32
+ should "delete the given entity" do
33
+ @group.delete
34
+ assert_nil redis.hget(@group.context, @group.key)
35
+ end
36
+
37
+ should "delete any associations in redis" do
38
+ @group.delete
39
+ assert_nil redis.hget(@group.context, "#{@group.key}_members")
40
+ assert_nil redis.hget(@group.context, "#{@group.key}_room")
41
+ end
42
+
43
+ end
44
+
45
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: remodel-h
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.1
4
+ version: 0.2.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Tim Lossen
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2010-07-21 00:00:00 +02:00
12
+ date: 2010-08-12 00:00:00 +02:00
13
13
  default_executable: redis-monitor.rb
14
14
  dependencies: []
15
15
 
@@ -39,6 +39,7 @@ files:
39
39
  - remodel-h.gemspec
40
40
  - test/helper.rb
41
41
  - test/test_entity.rb
42
+ - test/test_entity_delete.rb
42
43
  - test/test_many_to_many.rb
43
44
  - test/test_many_to_one.rb
44
45
  - test/test_mappers.rb
@@ -76,6 +77,7 @@ summary: remodel variant which uses hashes
76
77
  test_files:
77
78
  - test/helper.rb
78
79
  - test/test_entity.rb
80
+ - test/test_entity_delete.rb
79
81
  - test/test_many_to_many.rb
80
82
  - test/test_many_to_one.rb
81
83
  - test/test_mappers.rb