mongo_mapper_versioned 0.1 → 0.1.1
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.
@@ -24,7 +24,7 @@ module MongoMapper
|
|
24
24
|
module InstanceMethods
|
25
25
|
|
26
26
|
def create_version
|
27
|
-
self.version_number =
|
27
|
+
self.version_number = versions.last.version_number+1 if versions.count > 0
|
28
28
|
self.versions << current_version
|
29
29
|
end
|
30
30
|
|
@@ -34,9 +34,10 @@ module MongoMapper
|
|
34
34
|
self.version_number = target_version.version_number
|
35
35
|
end
|
36
36
|
end
|
37
|
-
|
38
|
-
def
|
39
|
-
|
37
|
+
|
38
|
+
def latest_version?
|
39
|
+
return true if versions.empty?
|
40
|
+
self.version_number == versions.last.version_number
|
40
41
|
end
|
41
42
|
|
42
43
|
def current_version
|
@@ -27,7 +27,10 @@ class VersionedTest < ActiveSupport::TestCase
|
|
27
27
|
assert_equal 1, @doc.version_number
|
28
28
|
end
|
29
29
|
should "have 0 versions" do
|
30
|
-
assert_equal 0, @doc.
|
30
|
+
assert_equal 0, @doc.versions.count
|
31
|
+
end
|
32
|
+
should "be latest version" do
|
33
|
+
assert @doc.latest_version?
|
31
34
|
end
|
32
35
|
end
|
33
36
|
|
@@ -39,12 +42,15 @@ class VersionedTest < ActiveSupport::TestCase
|
|
39
42
|
assert_equal 1, @doc.version_number
|
40
43
|
end
|
41
44
|
should "have 1 (initial) version" do
|
42
|
-
assert_equal 1, @doc.
|
45
|
+
assert_equal 1, @doc.versions.count
|
46
|
+
end
|
47
|
+
should "be latest version" do
|
48
|
+
assert @doc.latest_version?
|
43
49
|
end
|
44
50
|
|
45
51
|
context "when saved with no changes" do
|
46
52
|
setup do
|
47
|
-
@version_count = @doc.
|
53
|
+
@version_count = @doc.versions.count
|
48
54
|
@version_number = @doc.version_number
|
49
55
|
@doc.save
|
50
56
|
end
|
@@ -52,23 +58,29 @@ class VersionedTest < ActiveSupport::TestCase
|
|
52
58
|
assert_equal @version_number, @doc.version_number
|
53
59
|
end
|
54
60
|
should "not create new version" do
|
55
|
-
assert_equal @version_count, @doc.
|
61
|
+
assert_equal @version_count, @doc.versions.count
|
62
|
+
end
|
63
|
+
should "be latest version" do
|
64
|
+
assert @doc.latest_version?
|
56
65
|
end
|
57
66
|
end
|
58
67
|
|
59
68
|
context "after a change" do
|
60
69
|
setup do
|
61
|
-
@version_count = @doc.
|
70
|
+
@version_count = @doc.versions.count
|
62
71
|
@version_number = @doc.version_number
|
63
72
|
@title = @doc.title
|
64
73
|
@doc.update_attributes(:title => "Krabaty")
|
65
74
|
end
|
66
75
|
should "increase number of versions" do
|
67
|
-
assert_equal @version_count+1, @doc.
|
76
|
+
assert_equal @version_count+1, @doc.versions.count
|
68
77
|
end
|
69
78
|
should "increase version number" do
|
70
79
|
assert_equal @version_number+1, @doc.version_number
|
71
80
|
end
|
81
|
+
should "be latest version" do
|
82
|
+
assert @doc.latest_version?
|
83
|
+
end
|
72
84
|
end
|
73
85
|
|
74
86
|
end
|
@@ -96,7 +108,10 @@ class VersionedTest < ActiveSupport::TestCase
|
|
96
108
|
assert_equal "Arnett", @doc.body
|
97
109
|
end
|
98
110
|
should "not create new version" do
|
99
|
-
assert_equal 5, @doc.
|
111
|
+
assert_equal 5, @doc.versions.count
|
112
|
+
end
|
113
|
+
should "not be latest version" do
|
114
|
+
assert !@doc.latest_version?
|
100
115
|
end
|
101
116
|
end
|
102
117
|
|
@@ -114,7 +129,10 @@ class VersionedTest < ActiveSupport::TestCase
|
|
114
129
|
assert_equal "Arnett", @doc.body
|
115
130
|
end
|
116
131
|
should "not create new version" do
|
117
|
-
assert_equal 5, @doc.
|
132
|
+
assert_equal 5, @doc.versions.count
|
133
|
+
end
|
134
|
+
should "not be latest version" do
|
135
|
+
assert !@doc.latest_version?
|
118
136
|
end
|
119
137
|
context "after save" do
|
120
138
|
setup do
|
@@ -124,7 +142,10 @@ class VersionedTest < ActiveSupport::TestCase
|
|
124
142
|
assert_equal 6, @doc.version_number
|
125
143
|
end
|
126
144
|
should "have 6 versions" do
|
127
|
-
assert_equal 6, @doc.
|
145
|
+
assert_equal 6, @doc.versions.count
|
146
|
+
end
|
147
|
+
should "be latest version" do
|
148
|
+
assert @doc.latest_version?
|
128
149
|
end
|
129
150
|
end
|
130
151
|
|
@@ -144,7 +165,7 @@ class VersionedTest < ActiveSupport::TestCase
|
|
144
165
|
assert_equal "Arnett", @doc.body
|
145
166
|
end
|
146
167
|
should "not create new version" do
|
147
|
-
assert_equal 5, @doc.
|
168
|
+
assert_equal 5, @doc.versions.count
|
148
169
|
end
|
149
170
|
end
|
150
171
|
|
metadata
CHANGED
@@ -1,12 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: mongo_mapper_versioned
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 25
|
5
5
|
prerelease: false
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 1
|
9
|
-
|
9
|
+
- 1
|
10
|
+
version: 0.1.1
|
10
11
|
platform: ruby
|
11
12
|
authors:
|
12
13
|
- Tomas Celizna
|
@@ -14,7 +15,7 @@ autorequire:
|
|
14
15
|
bindir: bin
|
15
16
|
cert_chain: []
|
16
17
|
|
17
|
-
date: 2010-12-
|
18
|
+
date: 2010-12-24 00:00:00 +01:00
|
18
19
|
default_executable:
|
19
20
|
dependencies:
|
20
21
|
- !ruby/object:Gem::Dependency
|