acts_as_audited_rails3 1.1.1.4

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