acts_as_audited_rails3 1.1.1.4

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.
Files changed (39) hide show
  1. data/.gitignore +4 -0
  2. data/CHANGELOG +25 -0
  3. data/LICENSE +19 -0
  4. data/README +76 -0
  5. data/Rakefile +60 -0
  6. data/VERSION +1 -0
  7. data/acts_as_audited.gemspec +90 -0
  8. data/acts_as_audited_rails3.gemspec +90 -0
  9. data/doc/classes/Audit.html +407 -0
  10. data/doc/classes/CollectiveIdea/Acts/Audited/ClassMethods.html +226 -0
  11. data/doc/classes/CollectiveIdea/Acts/Audited/InstanceMethods.html +330 -0
  12. data/doc/classes/CollectiveIdea/Acts/Audited/SingletonMethods.html +254 -0
  13. data/doc/created.rid +1 -0
  14. data/doc/files/README.html +226 -0
  15. data/doc/files/lib/acts_as_audited/audit_rb.html +108 -0
  16. data/doc/files/lib/acts_as_audited/audit_sweeper_rb.html +101 -0
  17. data/doc/files/lib/acts_as_audited_rb.html +129 -0
  18. data/doc/fr_class_index.html +30 -0
  19. data/doc/fr_file_index.html +30 -0
  20. data/doc/fr_method_index.html +47 -0
  21. data/doc/index.html +24 -0
  22. data/doc/rdoc-style.css +208 -0
  23. data/lib/acts_as_audited/audit.rb +119 -0
  24. data/lib/acts_as_audited/audit_sweeper.rb +37 -0
  25. data/lib/acts_as_audited/base.rb +316 -0
  26. data/lib/acts_as_audited.rb +9 -0
  27. data/lib/generators/audited_migration/USAGE +7 -0
  28. data/lib/generators/audited_migration/audited_migration_generator.rb +24 -0
  29. data/lib/generators/audited_migration/templates/migration.rb +29 -0
  30. data/lib/generators/audited_migration_update/USAGE +7 -0
  31. data/lib/generators/audited_migration_update/audited_migration_update_generator.rb +24 -0
  32. data/lib/generators/audited_migration_update/templates/migration.rb +9 -0
  33. data/test/acts_as_audited_test.rb +437 -0
  34. data/test/audit_sweeper_test.rb +31 -0
  35. data/test/audit_test.rb +179 -0
  36. data/test/db/database.yml +21 -0
  37. data/test/db/schema.rb +33 -0
  38. data/test/test_helper.rb +75 -0
  39. metadata +152 -0
@@ -0,0 +1,226 @@
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>Mon Dec 14 23:54:16 -0500 2009</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_audited</h1>
73
+ <p>
74
+ acts_as_audited is an ActiveRecord extension that logs all changes to your
75
+ models in an audits table.
76
+ </p>
77
+ <p>
78
+ The purpose of this fork is to store both the previous values and the
79
+ changed value, making each audit record selfcontained.
80
+ </p>
81
+ <h2>Installation</h2>
82
+ <pre>
83
+ script/plugin install git://github.com/EmFi/acts_as_audited.git
84
+ </pre>
85
+ <ul>
86
+ <li>Generate the migration
87
+
88
+ <ul>
89
+ <li>If installing without a previous version of acts_as_audited or you do not
90
+ mind overwriting your audits table:
91
+
92
+ <pre>
93
+ script/generate audited_migration add_audits_table
94
+ </pre>
95
+ </li>
96
+ <li>If upgrading from a version of acts_as_audited that does not contain
97
+ comment functionality:
98
+
99
+ <pre>
100
+ script/generate audited_migration_update update_audits_table
101
+ </pre>
102
+ </li>
103
+ <li>After running one of the generators:
104
+
105
+ <pre>
106
+ rake db:migrate
107
+ </pre>
108
+ </li>
109
+ </ul>
110
+ </li>
111
+ </ul>
112
+ <h2>Usage</h2>
113
+ <p>
114
+ Declare <tt>acts_as_audited</tt> on your models:
115
+ </p>
116
+ <pre>
117
+ class User &lt; ActiveRecord::Base
118
+ acts_as_audited :except =&gt; [:password, :mistress]
119
+ end
120
+ </pre>
121
+ <p>
122
+ Within a web request, will automatically record the user that made the
123
+ change if your controller has a <tt>current_user</tt> method. Comments can
124
+ be added to an audit by setting model.audit_comments before
125
+ create/update/destroy. If the :comment_required option is given to
126
+ acts_as_audited, the save/update/destroy action will fail with add an error
127
+ on model.audit_comment and triggering a transaction rollback if
128
+ model.audit_comment is nil.
129
+ </p>
130
+ <p>
131
+ To record a user in the audits outside of a web request, you can use
132
+ <tt>as_user</tt>:
133
+ </p>
134
+ <pre>
135
+ Audit.as_user(user) do
136
+ # Perform changes on audited models
137
+ end
138
+ </pre>
139
+ <h2>Caveats</h2>
140
+ <p>
141
+ If your model declares <tt>attr_accessible</tt> after
142
+ <tt>acts_as_audited</tt>, you need to set +:protect+ to false.
143
+ acts_as_audited uses <tt>attr_protected</tt> internally to prevent
144
+ malicious users from unassociating your audits, and Rails does not allow
145
+ both <tt>attr_protected</tt> and <tt>attr_accessible</tt>. It will default
146
+ to false if <tt>attr_accessible</tt> is called before
147
+ <tt>acts_as_audited</tt>, but needs to be explicitly set if it is called
148
+ after.
149
+ </p>
150
+ <pre>
151
+ class User &lt; ActiveRecord::Base
152
+ acts_as_audited :protect =&gt; false
153
+ attr_accessible :name
154
+ end
155
+ </pre>
156
+ <h2>Compatability</h2>
157
+ <p>
158
+ acts_as_audited works with Rails 2.1 or later.
159
+ </p>
160
+ <h2>Getting Help</h2>
161
+ <p>
162
+ Join the mailing list for getting help or offering suggestions:
163
+ </p>
164
+ <pre>
165
+ http://groups.google.com/group/acts_as_audited
166
+ </pre>
167
+ <h2>Contributing</h2>
168
+ <p>
169
+ Contributions are always welcome. Checkout the latest code on GitHub:
170
+ </p>
171
+ <pre>
172
+ http://github.com/collectiveidea/acts_as_audited
173
+ </pre>
174
+ <p>
175
+ Please include tests with your patches. There are a few gems required to
176
+ run the tests:
177
+ </p>
178
+ <pre>
179
+ $ gem install multi_rails
180
+ $ gem install thoughtbot-shoulda jnunemaker-matchy --source http://gems.github.com
181
+ </pre>
182
+ <p>
183
+ Make sure the tests pass against all versions of Rails since 2.1:
184
+ </p>
185
+ <pre>
186
+ $ rake test:multi_rails:all
187
+ </pre>
188
+ <p>
189
+ Please report bugs or feature suggestions on GitHub:
190
+ </p>
191
+ <pre>
192
+ http://github.com/collectiveidea/acts_as_audited/issues
193
+ </pre>
194
+
195
+ </div>
196
+
197
+
198
+ </div>
199
+
200
+
201
+ </div>
202
+
203
+
204
+ <!-- if includes -->
205
+
206
+ <div id="section">
207
+
208
+
209
+
210
+
211
+
212
+
213
+
214
+
215
+ <!-- if method_list -->
216
+
217
+
218
+ </div>
219
+
220
+
221
+ <div id="validator-badges">
222
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
223
+ </div>
224
+
225
+ </body>
226
+ </html>
@@ -0,0 +1,108 @@
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: audit.rb</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>audit.rb</h1>
51
+ <table class="header-table">
52
+ <tr class="top-aligned-row">
53
+ <td><strong>Path:</strong></td>
54
+ <td>lib/acts_as_audited/audit.rb
55
+ </td>
56
+ </tr>
57
+ <tr class="top-aligned-row">
58
+ <td><strong>Last Update:</strong></td>
59
+ <td>Thu Dec 10 13:46:11 -0500 2009</td>
60
+ </tr>
61
+ </table>
62
+ </div>
63
+ <!-- banner header -->
64
+
65
+ <div id="bodyContent">
66
+
67
+
68
+
69
+ <div id="contextContent">
70
+
71
+
72
+ <div id="requires-list">
73
+ <h3 class="section-bar">Required files</h3>
74
+
75
+ <div class="name-list">
76
+ set&nbsp;&nbsp;
77
+ </div>
78
+ </div>
79
+
80
+ </div>
81
+
82
+
83
+ </div>
84
+
85
+
86
+ <!-- if includes -->
87
+
88
+ <div id="section">
89
+
90
+
91
+
92
+
93
+
94
+
95
+
96
+
97
+ <!-- if method_list -->
98
+
99
+
100
+ </div>
101
+
102
+
103
+ <div id="validator-badges">
104
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
105
+ </div>
106
+
107
+ </body>
108
+ </html>
@@ -0,0 +1,101 @@
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: audit_sweeper.rb</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>audit_sweeper.rb</h1>
51
+ <table class="header-table">
52
+ <tr class="top-aligned-row">
53
+ <td><strong>Path:</strong></td>
54
+ <td>lib/acts_as_audited/audit_sweeper.rb
55
+ </td>
56
+ </tr>
57
+ <tr class="top-aligned-row">
58
+ <td><strong>Last Update:</strong></td>
59
+ <td>Thu Dec 10 13:46:11 -0500 2009</td>
60
+ </tr>
61
+ </table>
62
+ </div>
63
+ <!-- banner header -->
64
+
65
+ <div id="bodyContent">
66
+
67
+
68
+
69
+ <div id="contextContent">
70
+
71
+
72
+
73
+ </div>
74
+
75
+
76
+ </div>
77
+
78
+
79
+ <!-- if includes -->
80
+
81
+ <div id="section">
82
+
83
+
84
+
85
+
86
+
87
+
88
+
89
+
90
+ <!-- if method_list -->
91
+
92
+
93
+ </div>
94
+
95
+
96
+ <div id="validator-badges">
97
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
98
+ </div>
99
+
100
+ </body>
101
+ </html>
@@ -0,0 +1,129 @@
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: acts_as_audited.rb</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>acts_as_audited.rb</h1>
51
+ <table class="header-table">
52
+ <tr class="top-aligned-row">
53
+ <td><strong>Path:</strong></td>
54
+ <td>lib/acts_as_audited.rb
55
+ </td>
56
+ </tr>
57
+ <tr class="top-aligned-row">
58
+ <td><strong>Last Update:</strong></td>
59
+ <td>Thu Dec 10 13:46:11 -0500 2009</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
+ Copyright (c) 2006 Brandon Keepers
74
+ </p>
75
+ <p>
76
+ Permission is hereby granted, free of charge, to any person obtaining a
77
+ copy of this software and associated documentation files (the
78
+ &quot;Software&quot;), to deal in the Software without restriction,
79
+ including without limitation the rights to use, copy, modify, merge,
80
+ publish, distribute, sublicense, and/or sell copies of the Software, and to
81
+ permit persons to whom the Software is furnished to do so, subject to the
82
+ following conditions:
83
+ </p>
84
+ <p>
85
+ The above copyright notice and this permission notice shall be included in
86
+ all copies or substantial portions of the Software.
87
+ </p>
88
+ <p>
89
+ THE SOFTWARE IS PROVIDED &quot;AS IS&quot;, WITHOUT WARRANTY OF ANY KIND,
90
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
91
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
92
+ NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
93
+ DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
94
+ OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
95
+ USE OR OTHER DEALINGS IN THE SOFTWARE.
96
+ </p>
97
+
98
+ </div>
99
+
100
+
101
+ </div>
102
+
103
+
104
+ </div>
105
+
106
+
107
+ <!-- if includes -->
108
+
109
+ <div id="section">
110
+
111
+
112
+
113
+
114
+
115
+
116
+
117
+
118
+ <!-- if method_list -->
119
+
120
+
121
+ </div>
122
+
123
+
124
+ <div id="validator-badges">
125
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
126
+ </div>
127
+
128
+ </body>
129
+ </html>
@@ -0,0 +1,30 @@
1
+
2
+ <?xml version="1.0" encoding="iso-8859-1"?>
3
+ <!DOCTYPE html
4
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
5
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
6
+
7
+ <!--
8
+
9
+ Classes
10
+
11
+ -->
12
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
13
+ <head>
14
+ <title>Classes</title>
15
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
16
+ <link rel="stylesheet" href="rdoc-style.css" type="text/css" />
17
+ <base target="docwin" />
18
+ </head>
19
+ <body>
20
+ <div id="index">
21
+ <h1 class="section-bar">Classes</h1>
22
+ <div id="index-entries">
23
+ <a href="classes/Audit.html">Audit</a><br />
24
+ <a href="classes/CollectiveIdea/Acts/Audited/ClassMethods.html">CollectiveIdea::Acts::Audited::ClassMethods</a><br />
25
+ <a href="classes/CollectiveIdea/Acts/Audited/InstanceMethods.html">CollectiveIdea::Acts::Audited::InstanceMethods</a><br />
26
+ <a href="classes/CollectiveIdea/Acts/Audited/SingletonMethods.html">CollectiveIdea::Acts::Audited::SingletonMethods</a><br />
27
+ </div>
28
+ </div>
29
+ </body>
30
+ </html>
@@ -0,0 +1,30 @@
1
+
2
+ <?xml version="1.0" encoding="iso-8859-1"?>
3
+ <!DOCTYPE html
4
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
5
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
6
+
7
+ <!--
8
+
9
+ Files
10
+
11
+ -->
12
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
13
+ <head>
14
+ <title>Files</title>
15
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
16
+ <link rel="stylesheet" href="rdoc-style.css" type="text/css" />
17
+ <base target="docwin" />
18
+ </head>
19
+ <body>
20
+ <div id="index">
21
+ <h1 class="section-bar">Files</h1>
22
+ <div id="index-entries">
23
+ <a href="files/README.html">README</a><br />
24
+ <a href="files/lib/acts_as_audited_rb.html">lib/acts_as_audited.rb</a><br />
25
+ <a href="files/lib/acts_as_audited/audit_rb.html">lib/acts_as_audited/audit.rb</a><br />
26
+ <a href="files/lib/acts_as_audited/audit_sweeper_rb.html">lib/acts_as_audited/audit_sweeper.rb</a><br />
27
+ </div>
28
+ </div>
29
+ </body>
30
+ </html>
@@ -0,0 +1,47 @@
1
+
2
+ <?xml version="1.0" encoding="iso-8859-1"?>
3
+ <!DOCTYPE html
4
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
5
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
6
+
7
+ <!--
8
+
9
+ Methods
10
+
11
+ -->
12
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
13
+ <head>
14
+ <title>Methods</title>
15
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
16
+ <link rel="stylesheet" href="rdoc-style.css" type="text/css" />
17
+ <base target="docwin" />
18
+ </head>
19
+ <body>
20
+ <div id="index">
21
+ <h1 class="section-bar">Methods</h1>
22
+ <div id="index-entries">
23
+ <a href="classes/CollectiveIdea/Acts/Audited/ClassMethods.html#M000009">acts_as_audited (CollectiveIdea::Acts::Audited::ClassMethods)</a><br />
24
+ <a href="classes/Audit.html#M000004">ancestors (Audit)</a><br />
25
+ <a href="classes/Audit.html#M000002">as_user (Audit)</a><br />
26
+ <a href="classes/Audit.html#M000008">assign_revision_attributes (Audit)</a><br />
27
+ <a href="classes/CollectiveIdea/Acts/Audited/SingletonMethods.html#M000021">audit_as (CollectiveIdea::Acts::Audited::SingletonMethods)</a><br />
28
+ <a href="classes/CollectiveIdea/Acts/Audited/InstanceMethods.html#M000015">audited_attributes (CollectiveIdea::Acts::Audited::InstanceMethods)</a><br />
29
+ <a href="classes/Audit.html#M000001">audited_classes (Audit)</a><br />
30
+ <a href="classes/CollectiveIdea/Acts/Audited/SingletonMethods.html#M000017">audited_columns (CollectiveIdea::Acts::Audited::SingletonMethods)</a><br />
31
+ <a href="classes/CollectiveIdea/Acts/Audited/SingletonMethods.html#M000019">disable_auditing (CollectiveIdea::Acts::Audited::SingletonMethods)</a><br />
32
+ <a href="classes/CollectiveIdea/Acts/Audited/SingletonMethods.html#M000020">enable_auditing (CollectiveIdea::Acts::Audited::SingletonMethods)</a><br />
33
+ <a href="classes/Audit.html#M000005">new_attributes (Audit)</a><br />
34
+ <a href="classes/Audit.html#M000006">old_attributes (Audit)</a><br />
35
+ <a href="classes/Audit.html#M000007">reconstruct_attributes (Audit)</a><br />
36
+ <a href="classes/CollectiveIdea/Acts/Audited/InstanceMethods.html#M000013">revision (CollectiveIdea::Acts::Audited::InstanceMethods)</a><br />
37
+ <a href="classes/Audit.html#M000003">revision (Audit)</a><br />
38
+ <a href="classes/CollectiveIdea/Acts/Audited/InstanceMethods.html#M000014">revision_at (CollectiveIdea::Acts::Audited::InstanceMethods)</a><br />
39
+ <a href="classes/CollectiveIdea/Acts/Audited/InstanceMethods.html#M000016">revision_with (CollectiveIdea::Acts::Audited::InstanceMethods)</a><br />
40
+ <a href="classes/CollectiveIdea/Acts/Audited/InstanceMethods.html#M000012">revisions (CollectiveIdea::Acts::Audited::InstanceMethods)</a><br />
41
+ <a href="classes/CollectiveIdea/Acts/Audited/InstanceMethods.html#M000010">save_without_auditing (CollectiveIdea::Acts::Audited::InstanceMethods)</a><br />
42
+ <a href="classes/CollectiveIdea/Acts/Audited/SingletonMethods.html#M000018">without_auditing (CollectiveIdea::Acts::Audited::SingletonMethods)</a><br />
43
+ <a href="classes/CollectiveIdea/Acts/Audited/InstanceMethods.html#M000011">without_auditing (CollectiveIdea::Acts::Audited::InstanceMethods)</a><br />
44
+ </div>
45
+ </div>
46
+ </body>
47
+ </html>