modified_acts_as_versioned 0.5.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/.gitignore +1 -0
- data/CHANGELOG +82 -0
- data/MIT-LICENSE +20 -0
- data/README +28 -0
- data/RUNNING_UNIT_TESTS +41 -0
- data/Rakefile +50 -0
- data/VERSION.yml +4 -0
- data/acts_as_versioned.gemspec +29 -0
- data/init.rb +1 -0
- data/lib/acts_as_versioned.rb +488 -0
- data/rdoc/classes/ActiveRecord/Acts/Versioned/ActMethods/ClassMethods.html +336 -0
- data/rdoc/classes/ActiveRecord/Acts/Versioned/ActMethods.html +581 -0
- data/rdoc/classes/ActiveRecord/Acts/Versioned/ClassMethods.html +506 -0
- data/rdoc/classes/ActiveRecord/Acts/Versioned.html +187 -0
- data/rdoc/created.rid +1 -0
- data/rdoc/files/CHANGELOG.html +288 -0
- data/rdoc/files/README.html +158 -0
- data/rdoc/files/RUNNING_UNIT_TESTS.html +158 -0
- data/rdoc/files/lib/acts_as_versioned_rb.html +129 -0
- data/rdoc/fr_class_index.html +30 -0
- data/rdoc/fr_file_index.html +30 -0
- data/rdoc/fr_method_index.html +54 -0
- data/rdoc/index.html +24 -0
- data/rdoc/rdoc-style.css +208 -0
- data/test/abstract_unit.rb +60 -0
- data/test/database.yml +18 -0
- data/test/fixtures/authors.yml +6 -0
- data/test/fixtures/landmark.rb +3 -0
- data/test/fixtures/landmark_versions.yml +7 -0
- data/test/fixtures/landmarks.yml +7 -0
- data/test/fixtures/locked_pages.yml +10 -0
- data/test/fixtures/locked_pages_revisions.yml +27 -0
- data/test/fixtures/migrations/1_add_versioned_tables.rb +15 -0
- data/test/fixtures/page.rb +48 -0
- data/test/fixtures/page_versions.yml +16 -0
- data/test/fixtures/pages.yml +8 -0
- data/test/fixtures/widget.rb +6 -0
- data/test/migration_test.rb +47 -0
- data/test/schema.rb +82 -0
- data/test/versioned_test.rb +379 -0
- metadata +114 -0
@@ -0,0 +1,187 @@
|
|
1
|
+
<?xml version="1.0" encoding="iso-8859-1"?>
|
2
|
+
<!DOCTYPE html
|
3
|
+
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
|
4
|
+
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
5
|
+
|
6
|
+
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
|
7
|
+
<head>
|
8
|
+
<title>Module: ActiveRecord::Acts::Versioned</title>
|
9
|
+
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
10
|
+
<meta http-equiv="Content-Script-Type" content="text/javascript" />
|
11
|
+
<link rel="stylesheet" href="../../.././rdoc-style.css" type="text/css" media="screen" />
|
12
|
+
<script type="text/javascript">
|
13
|
+
// <![CDATA[
|
14
|
+
|
15
|
+
function popupCode( url ) {
|
16
|
+
window.open(url, "Code", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=150,width=400")
|
17
|
+
}
|
18
|
+
|
19
|
+
function toggleCode( id ) {
|
20
|
+
if ( document.getElementById )
|
21
|
+
elem = document.getElementById( id );
|
22
|
+
else if ( document.all )
|
23
|
+
elem = eval( "document.all." + id );
|
24
|
+
else
|
25
|
+
return false;
|
26
|
+
|
27
|
+
elemStyle = elem.style;
|
28
|
+
|
29
|
+
if ( elemStyle.display != "block" ) {
|
30
|
+
elemStyle.display = "block"
|
31
|
+
} else {
|
32
|
+
elemStyle.display = "none"
|
33
|
+
}
|
34
|
+
|
35
|
+
return true;
|
36
|
+
}
|
37
|
+
|
38
|
+
// Make codeblocks hidden by default
|
39
|
+
document.writeln( "<style type=\"text/css\">div.method-source-code { display: none }</style>" )
|
40
|
+
|
41
|
+
// ]]>
|
42
|
+
</script>
|
43
|
+
|
44
|
+
</head>
|
45
|
+
<body>
|
46
|
+
|
47
|
+
|
48
|
+
|
49
|
+
<div id="classHeader">
|
50
|
+
<table class="header-table">
|
51
|
+
<tr class="top-aligned-row">
|
52
|
+
<td><strong>Module</strong></td>
|
53
|
+
<td class="class-name-in-header">ActiveRecord::Acts::Versioned</td>
|
54
|
+
</tr>
|
55
|
+
<tr class="top-aligned-row">
|
56
|
+
<td><strong>In:</strong></td>
|
57
|
+
<td>
|
58
|
+
<a href="../../../files/lib/acts_as_versioned_rb.html">
|
59
|
+
lib/acts_as_versioned.rb
|
60
|
+
</a>
|
61
|
+
<br />
|
62
|
+
</td>
|
63
|
+
</tr>
|
64
|
+
|
65
|
+
</table>
|
66
|
+
</div>
|
67
|
+
<!-- banner header -->
|
68
|
+
|
69
|
+
<div id="bodyContent">
|
70
|
+
|
71
|
+
|
72
|
+
|
73
|
+
<div id="contextContent">
|
74
|
+
|
75
|
+
<div id="description">
|
76
|
+
<p>
|
77
|
+
Specify this act if you want to save a copy of the row in a versioned
|
78
|
+
table. This assumes there is a versioned table ready and that your model
|
79
|
+
has a version field. This works with optimistic locking if the lock_version
|
80
|
+
column is present as well.
|
81
|
+
</p>
|
82
|
+
<p>
|
83
|
+
The class for the versioned model is derived the first time it is seen.
|
84
|
+
Therefore, if you change your database schema you have to restart your
|
85
|
+
container for the changes to be reflected. In development mode this usually
|
86
|
+
means restarting WEBrick.
|
87
|
+
</p>
|
88
|
+
<pre>
|
89
|
+
class Page < ActiveRecord::Base
|
90
|
+
# assumes pages_versions table
|
91
|
+
acts_as_versioned
|
92
|
+
end
|
93
|
+
</pre>
|
94
|
+
<p>
|
95
|
+
Example:
|
96
|
+
</p>
|
97
|
+
<pre>
|
98
|
+
page = Page.create(:title => 'hello world!')
|
99
|
+
page.version # => 1
|
100
|
+
|
101
|
+
page.title = 'hello world'
|
102
|
+
page.save
|
103
|
+
page.version # => 2
|
104
|
+
page.versions.size # => 2
|
105
|
+
|
106
|
+
page.revert_to(1) # using version number
|
107
|
+
page.title # => 'hello world!'
|
108
|
+
|
109
|
+
page.revert_to(page.versions.last) # using versioned instance
|
110
|
+
page.title # => 'hello world'
|
111
|
+
|
112
|
+
page.versions.earliest # efficient query to find the first version
|
113
|
+
page.versions.latest # efficient query to find the most recently created version
|
114
|
+
</pre>
|
115
|
+
<p>
|
116
|
+
Simple Queries to page between versions
|
117
|
+
</p>
|
118
|
+
<pre>
|
119
|
+
page.versions.before(version)
|
120
|
+
page.versions.after(version)
|
121
|
+
</pre>
|
122
|
+
<p>
|
123
|
+
Access the previous/next versions from the versioned model itself
|
124
|
+
</p>
|
125
|
+
<pre>
|
126
|
+
version = page.versions.latest
|
127
|
+
version.previous # go back one version
|
128
|
+
version.next # go forward one version
|
129
|
+
</pre>
|
130
|
+
<p>
|
131
|
+
See <a
|
132
|
+
href="Versioned/ClassMethods.html#M000022">ActiveRecord::Acts::Versioned::ClassMethods#acts_as_versioned</a>
|
133
|
+
for configuration options
|
134
|
+
</p>
|
135
|
+
|
136
|
+
</div>
|
137
|
+
|
138
|
+
|
139
|
+
</div>
|
140
|
+
|
141
|
+
|
142
|
+
</div>
|
143
|
+
|
144
|
+
|
145
|
+
<!-- if includes -->
|
146
|
+
|
147
|
+
<div id="section">
|
148
|
+
|
149
|
+
<div id="class-list">
|
150
|
+
<h3 class="section-bar">Classes and Modules</h3>
|
151
|
+
|
152
|
+
Module <a href="Versioned/ActMethods.html" class="link">ActiveRecord::Acts::Versioned::ActMethods</a><br />
|
153
|
+
Module <a href="Versioned/ClassMethods.html" class="link">ActiveRecord::Acts::Versioned::ClassMethods</a><br />
|
154
|
+
|
155
|
+
</div>
|
156
|
+
|
157
|
+
<div id="constants-list">
|
158
|
+
<h3 class="section-bar">Constants</h3>
|
159
|
+
|
160
|
+
<div class="name-list">
|
161
|
+
<table summary="Constants">
|
162
|
+
<tr class="top-aligned-row context-row">
|
163
|
+
<td class="context-item-name">CALLBACKS</td>
|
164
|
+
<td>=</td>
|
165
|
+
<td class="context-item-value">[:set_new_version, :save_version, :save_version?]</td>
|
166
|
+
</tr>
|
167
|
+
</table>
|
168
|
+
</div>
|
169
|
+
</div>
|
170
|
+
|
171
|
+
|
172
|
+
|
173
|
+
|
174
|
+
|
175
|
+
|
176
|
+
<!-- if method_list -->
|
177
|
+
|
178
|
+
|
179
|
+
</div>
|
180
|
+
|
181
|
+
|
182
|
+
<div id="validator-badges">
|
183
|
+
<p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
|
184
|
+
</div>
|
185
|
+
|
186
|
+
</body>
|
187
|
+
</html>
|
data/rdoc/created.rid
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
Wed, 29 Sep 2010 11:36:59 +0100
|
@@ -0,0 +1,288 @@
|
|
1
|
+
<?xml version="1.0" encoding="iso-8859-1"?>
|
2
|
+
<!DOCTYPE html
|
3
|
+
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
|
4
|
+
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
5
|
+
|
6
|
+
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
|
7
|
+
<head>
|
8
|
+
<title>File: CHANGELOG</title>
|
9
|
+
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
10
|
+
<meta http-equiv="Content-Script-Type" content="text/javascript" />
|
11
|
+
<link rel="stylesheet" href=".././rdoc-style.css" type="text/css" media="screen" />
|
12
|
+
<script type="text/javascript">
|
13
|
+
// <![CDATA[
|
14
|
+
|
15
|
+
function popupCode( url ) {
|
16
|
+
window.open(url, "Code", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=150,width=400")
|
17
|
+
}
|
18
|
+
|
19
|
+
function toggleCode( id ) {
|
20
|
+
if ( document.getElementById )
|
21
|
+
elem = document.getElementById( id );
|
22
|
+
else if ( document.all )
|
23
|
+
elem = eval( "document.all." + id );
|
24
|
+
else
|
25
|
+
return false;
|
26
|
+
|
27
|
+
elemStyle = elem.style;
|
28
|
+
|
29
|
+
if ( elemStyle.display != "block" ) {
|
30
|
+
elemStyle.display = "block"
|
31
|
+
} else {
|
32
|
+
elemStyle.display = "none"
|
33
|
+
}
|
34
|
+
|
35
|
+
return true;
|
36
|
+
}
|
37
|
+
|
38
|
+
// Make codeblocks hidden by default
|
39
|
+
document.writeln( "<style type=\"text/css\">div.method-source-code { display: none }</style>" )
|
40
|
+
|
41
|
+
// ]]>
|
42
|
+
</script>
|
43
|
+
|
44
|
+
</head>
|
45
|
+
<body>
|
46
|
+
|
47
|
+
|
48
|
+
|
49
|
+
<div id="fileHeader">
|
50
|
+
<h1>CHANGELOG</h1>
|
51
|
+
<table class="header-table">
|
52
|
+
<tr class="top-aligned-row">
|
53
|
+
<td><strong>Path:</strong></td>
|
54
|
+
<td>CHANGELOG
|
55
|
+
</td>
|
56
|
+
</tr>
|
57
|
+
<tr class="top-aligned-row">
|
58
|
+
<td><strong>Last Update:</strong></td>
|
59
|
+
<td>Wed Sep 29 11:16:43 +0100 2010</td>
|
60
|
+
</tr>
|
61
|
+
</table>
|
62
|
+
</div>
|
63
|
+
<!-- banner header -->
|
64
|
+
|
65
|
+
<div id="bodyContent">
|
66
|
+
|
67
|
+
|
68
|
+
|
69
|
+
<div id="contextContent">
|
70
|
+
|
71
|
+
<div id="description">
|
72
|
+
<p>
|
73
|
+
<b>GIT</b> (version numbers are overrated)
|
74
|
+
</p>
|
75
|
+
<ul>
|
76
|
+
<li>(16 Jun 2008) Backwards Compatibility is overrated (big updates for rails
|
77
|
+
2.1)
|
78
|
+
|
79
|
+
<ul>
|
80
|
+
<li>Use ActiveRecord 2.1‘s dirty attribute checking instead [Asa Calow]
|
81
|
+
|
82
|
+
</li>
|
83
|
+
<li>Remove last traces of non_versioned_fields
|
84
|
+
|
85
|
+
</li>
|
86
|
+
<li>Remove AR::Base.find_version and AR::Base.find_versions, rely on AR
|
87
|
+
association proxies and named_scope
|
88
|
+
|
89
|
+
</li>
|
90
|
+
<li>Remove versions_count, rely on AR association counter caching.
|
91
|
+
|
92
|
+
</li>
|
93
|
+
<li>Remove versioned_attributes, basically the same as
|
94
|
+
AR::Base.versioned_columns
|
95
|
+
|
96
|
+
</li>
|
97
|
+
</ul>
|
98
|
+
</li>
|
99
|
+
<li>(5 Oct 2006) Allow customization of versions association options [Dan
|
100
|
+
Peterson]
|
101
|
+
|
102
|
+
</li>
|
103
|
+
</ul>
|
104
|
+
<p>
|
105
|
+
*0.5.1*
|
106
|
+
</p>
|
107
|
+
<ul>
|
108
|
+
<li>(8 Aug 2006) Versioned models now belong to the unversioned model.
|
109
|
+
@article_version.article.class => Article [Aslak Hellesoy]
|
110
|
+
|
111
|
+
</li>
|
112
|
+
</ul>
|
113
|
+
<p>
|
114
|
+
*0.5* # do versions even matter for plugins?
|
115
|
+
</p>
|
116
|
+
<ul>
|
117
|
+
<li>(21 Apr 2006) Added without_locking and without_revision methods.
|
118
|
+
|
119
|
+
<p>
|
120
|
+
Foo.without_revision do
|
121
|
+
</p>
|
122
|
+
<pre>
|
123
|
+
@foo.update_attributes ...
|
124
|
+
</pre>
|
125
|
+
<p>
|
126
|
+
end
|
127
|
+
</p>
|
128
|
+
</li>
|
129
|
+
</ul>
|
130
|
+
<p>
|
131
|
+
*0.4*
|
132
|
+
</p>
|
133
|
+
<ul>
|
134
|
+
<li>(28 March 2006) Rename non_versioned_fields to non_versioned_columns (old
|
135
|
+
one is kept for compatibility).
|
136
|
+
|
137
|
+
</li>
|
138
|
+
<li>(28 March 2006) Made explicit documentation note that string column names
|
139
|
+
are required for non_versioned_columns.
|
140
|
+
|
141
|
+
</li>
|
142
|
+
</ul>
|
143
|
+
<p>
|
144
|
+
*0.3.1*
|
145
|
+
</p>
|
146
|
+
<ul>
|
147
|
+
<li>(7 Jan 2006) explicitly set :foreign_key option for the versioned
|
148
|
+
model‘s belongs_to assocation for STI [Caged]
|
149
|
+
|
150
|
+
</li>
|
151
|
+
<li>(7 Jan 2006) added tests to prove has_many :through joins work
|
152
|
+
|
153
|
+
</li>
|
154
|
+
</ul>
|
155
|
+
<p>
|
156
|
+
*0.3*
|
157
|
+
</p>
|
158
|
+
<ul>
|
159
|
+
<li>(2 Jan 2006) added ability to share a mixin with versioned class
|
160
|
+
|
161
|
+
</li>
|
162
|
+
<li>(2 Jan 2006) changed the dynamic version model to MyModel::Version
|
163
|
+
|
164
|
+
</li>
|
165
|
+
</ul>
|
166
|
+
<p>
|
167
|
+
*0.2.4*
|
168
|
+
</p>
|
169
|
+
<ul>
|
170
|
+
<li>(27 Nov 2005) added note about possible destructive behavior of if_changed?
|
171
|
+
[Michael Schuerig]
|
172
|
+
|
173
|
+
</li>
|
174
|
+
</ul>
|
175
|
+
<p>
|
176
|
+
*0.2.3*
|
177
|
+
</p>
|
178
|
+
<ul>
|
179
|
+
<li>(12 Nov 2005) fixed bug with old behavior of blank? [Michael Schuerig]
|
180
|
+
|
181
|
+
</li>
|
182
|
+
<li>(12 Nov 2005) updated tests to use ActiveRecord Schema
|
183
|
+
|
184
|
+
</li>
|
185
|
+
</ul>
|
186
|
+
<p>
|
187
|
+
*0.2.2*
|
188
|
+
</p>
|
189
|
+
<ul>
|
190
|
+
<li>(3 Nov 2005) added documentation note to acts_as_versioned [Martin Jul]
|
191
|
+
|
192
|
+
</li>
|
193
|
+
</ul>
|
194
|
+
<p>
|
195
|
+
*0.2.1*
|
196
|
+
</p>
|
197
|
+
<ul>
|
198
|
+
<li>(6 Oct 2005) renamed dirty? to changed? to keep it uniform. it was aliased
|
199
|
+
to keep it backwards compatible.
|
200
|
+
|
201
|
+
</li>
|
202
|
+
</ul>
|
203
|
+
<p>
|
204
|
+
*0.2*
|
205
|
+
</p>
|
206
|
+
<ul>
|
207
|
+
<li>(6 Oct 2005) added find_versions and find_version class methods.
|
208
|
+
|
209
|
+
</li>
|
210
|
+
<li>(6 Oct 2005) removed transaction from create_versioned_table(). this way
|
211
|
+
you can specify your own transaction around a group of operations.
|
212
|
+
|
213
|
+
</li>
|
214
|
+
<li>(30 Sep 2005) fixed bug where find_versions() would order by
|
215
|
+
‘version’ twice. (found by Joe Clark)
|
216
|
+
|
217
|
+
</li>
|
218
|
+
<li>(26 Sep 2005) added :sequence_name option to acts_as_versioned to set the
|
219
|
+
sequence name on the versioned model
|
220
|
+
|
221
|
+
</li>
|
222
|
+
</ul>
|
223
|
+
<p>
|
224
|
+
*0.1.3* (18 Sep 2005)
|
225
|
+
</p>
|
226
|
+
<ul>
|
227
|
+
<li>First RubyForge release
|
228
|
+
|
229
|
+
</li>
|
230
|
+
</ul>
|
231
|
+
<p>
|
232
|
+
*0.1.2*
|
233
|
+
</p>
|
234
|
+
<ul>
|
235
|
+
<li>check if module is already included when acts_as_versioned is called
|
236
|
+
|
237
|
+
</li>
|
238
|
+
</ul>
|
239
|
+
<p>
|
240
|
+
*0.1.1*
|
241
|
+
</p>
|
242
|
+
<ul>
|
243
|
+
<li>Adding tests and rdocs
|
244
|
+
|
245
|
+
</li>
|
246
|
+
</ul>
|
247
|
+
<p>
|
248
|
+
*0.1*
|
249
|
+
</p>
|
250
|
+
<ul>
|
251
|
+
<li>Initial transfer from Rails ticket: <a
|
252
|
+
href="http://dev.rubyonrails.com/ticket/1974">dev.rubyonrails.com/ticket/1974</a>
|
253
|
+
|
254
|
+
</li>
|
255
|
+
</ul>
|
256
|
+
|
257
|
+
</div>
|
258
|
+
|
259
|
+
|
260
|
+
</div>
|
261
|
+
|
262
|
+
|
263
|
+
</div>
|
264
|
+
|
265
|
+
|
266
|
+
<!-- if includes -->
|
267
|
+
|
268
|
+
<div id="section">
|
269
|
+
|
270
|
+
|
271
|
+
|
272
|
+
|
273
|
+
|
274
|
+
|
275
|
+
|
276
|
+
|
277
|
+
<!-- if method_list -->
|
278
|
+
|
279
|
+
|
280
|
+
</div>
|
281
|
+
|
282
|
+
|
283
|
+
<div id="validator-badges">
|
284
|
+
<p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
|
285
|
+
</div>
|
286
|
+
|
287
|
+
</body>
|
288
|
+
</html>
|
@@ -0,0 +1,158 @@
|
|
1
|
+
<?xml version="1.0" encoding="iso-8859-1"?>
|
2
|
+
<!DOCTYPE html
|
3
|
+
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
|
4
|
+
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
5
|
+
|
6
|
+
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
|
7
|
+
<head>
|
8
|
+
<title>File: README</title>
|
9
|
+
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
10
|
+
<meta http-equiv="Content-Script-Type" content="text/javascript" />
|
11
|
+
<link rel="stylesheet" href=".././rdoc-style.css" type="text/css" media="screen" />
|
12
|
+
<script type="text/javascript">
|
13
|
+
// <![CDATA[
|
14
|
+
|
15
|
+
function popupCode( url ) {
|
16
|
+
window.open(url, "Code", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=150,width=400")
|
17
|
+
}
|
18
|
+
|
19
|
+
function toggleCode( id ) {
|
20
|
+
if ( document.getElementById )
|
21
|
+
elem = document.getElementById( id );
|
22
|
+
else if ( document.all )
|
23
|
+
elem = eval( "document.all." + id );
|
24
|
+
else
|
25
|
+
return false;
|
26
|
+
|
27
|
+
elemStyle = elem.style;
|
28
|
+
|
29
|
+
if ( elemStyle.display != "block" ) {
|
30
|
+
elemStyle.display = "block"
|
31
|
+
} else {
|
32
|
+
elemStyle.display = "none"
|
33
|
+
}
|
34
|
+
|
35
|
+
return true;
|
36
|
+
}
|
37
|
+
|
38
|
+
// Make codeblocks hidden by default
|
39
|
+
document.writeln( "<style type=\"text/css\">div.method-source-code { display: none }</style>" )
|
40
|
+
|
41
|
+
// ]]>
|
42
|
+
</script>
|
43
|
+
|
44
|
+
</head>
|
45
|
+
<body>
|
46
|
+
|
47
|
+
|
48
|
+
|
49
|
+
<div id="fileHeader">
|
50
|
+
<h1>README</h1>
|
51
|
+
<table class="header-table">
|
52
|
+
<tr class="top-aligned-row">
|
53
|
+
<td><strong>Path:</strong></td>
|
54
|
+
<td>README
|
55
|
+
</td>
|
56
|
+
</tr>
|
57
|
+
<tr class="top-aligned-row">
|
58
|
+
<td><strong>Last Update:</strong></td>
|
59
|
+
<td>Wed Sep 29 11:16:43 +0100 2010</td>
|
60
|
+
</tr>
|
61
|
+
</table>
|
62
|
+
</div>
|
63
|
+
<!-- banner header -->
|
64
|
+
|
65
|
+
<div id="bodyContent">
|
66
|
+
|
67
|
+
|
68
|
+
|
69
|
+
<div id="contextContent">
|
70
|
+
|
71
|
+
<div id="description">
|
72
|
+
<h1>acts_as_versioned</h1>
|
73
|
+
<p>
|
74
|
+
This library adds simple versioning to an ActiveRecord module. ActiveRecord
|
75
|
+
is required.
|
76
|
+
</p>
|
77
|
+
<h2>Resources</h2>
|
78
|
+
<p>
|
79
|
+
Install
|
80
|
+
</p>
|
81
|
+
<ul>
|
82
|
+
<li>gem install acts_as_versioned
|
83
|
+
|
84
|
+
</li>
|
85
|
+
</ul>
|
86
|
+
<p>
|
87
|
+
Rubyforge project
|
88
|
+
</p>
|
89
|
+
<ul>
|
90
|
+
<li><a
|
91
|
+
href="http://rubyforge.org/projects/ar-versioned">rubyforge.org/projects/ar-versioned</a>
|
92
|
+
|
93
|
+
</li>
|
94
|
+
</ul>
|
95
|
+
<p>
|
96
|
+
RDocs
|
97
|
+
</p>
|
98
|
+
<ul>
|
99
|
+
<li><a href="http://ar-versioned.rubyforge.org">ar-versioned.rubyforge.org</a>
|
100
|
+
|
101
|
+
</li>
|
102
|
+
</ul>
|
103
|
+
<p>
|
104
|
+
Subversion
|
105
|
+
</p>
|
106
|
+
<ul>
|
107
|
+
<li><a
|
108
|
+
href="http://techno-weenie.net/svn/projects/acts_as_versioned">techno-weenie.net/svn/projects/acts_as_versioned</a>
|
109
|
+
|
110
|
+
</li>
|
111
|
+
</ul>
|
112
|
+
<p>
|
113
|
+
Collaboa
|
114
|
+
</p>
|
115
|
+
<ul>
|
116
|
+
<li><a
|
117
|
+
href="http://collaboa.techno-weenie.net/repository/browse/acts_as_versioned">collaboa.techno-weenie.net/repository/browse/acts_as_versioned</a>
|
118
|
+
|
119
|
+
</li>
|
120
|
+
</ul>
|
121
|
+
<p>
|
122
|
+
Special thanks to Dreamer on #rubyonrails for help in early testing. His
|
123
|
+
ServerSideWiki (<a href="http://serversidewiki.com">serversidewiki.com</a>)
|
124
|
+
was the first project to use acts_as_versioned <em>in the wild</em>.
|
125
|
+
</p>
|
126
|
+
|
127
|
+
</div>
|
128
|
+
|
129
|
+
|
130
|
+
</div>
|
131
|
+
|
132
|
+
|
133
|
+
</div>
|
134
|
+
|
135
|
+
|
136
|
+
<!-- if includes -->
|
137
|
+
|
138
|
+
<div id="section">
|
139
|
+
|
140
|
+
|
141
|
+
|
142
|
+
|
143
|
+
|
144
|
+
|
145
|
+
|
146
|
+
|
147
|
+
<!-- if method_list -->
|
148
|
+
|
149
|
+
|
150
|
+
</div>
|
151
|
+
|
152
|
+
|
153
|
+
<div id="validator-badges">
|
154
|
+
<p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
|
155
|
+
</div>
|
156
|
+
|
157
|
+
</body>
|
158
|
+
</html>
|