remodel-h 0.2.1 → 0.2.2

Sign up to get free protection for your applications and to get access to all the features.
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