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 +1 -1
- data/lib/remodel/entity.rb +3 -0
- data/remodel-h.gemspec +4 -2
- data/test/test_entity.rb +0 -16
- data/test/test_entity_delete.rb +45 -0
- metadata +4 -2
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.2.
|
1
|
+
0.2.2
|
data/lib/remodel/entity.rb
CHANGED
@@ -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.
|
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-
|
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.
|
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-
|
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
|