auditable 0.1.3 → 0.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.
- data/CHANGELOG.md +5 -1
- data/lib/auditable.rb +1 -0
- data/lib/auditable/auditing.rb +6 -3
- data/lib/auditable/version.rb +1 -1
- data/spec/lib/auditable_spec.rb +4 -0
- data/spec/support/models.rb +5 -1
- metadata +72 -21
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,7 @@
|
|
1
|
+
### 0.1.4 (2012-01-11)
|
2
|
+
#### Improvement
|
3
|
+
* Add class_name option for method audit. This allows you to have a custom audit class that inherits from Auditable::Audit [#12]
|
4
|
+
|
1
5
|
### 0.1.3 (2012-05-24)
|
2
6
|
#### Fixes
|
3
7
|
* Fix a silly bug not loading the audits under the same `auditable_id`
|
@@ -5,7 +9,7 @@
|
|
5
9
|
|
6
10
|
### 0.1.2 (2012-05-24)
|
7
11
|
#### Fixes
|
8
|
-
* Fix bug creating duplicate audits despite no change in a record's subsequent saves, due to using `.build`. See this comment on
|
12
|
+
* Fix bug creating duplicate audits despite no change in a record's subsequent saves, due to using `.build`. See this comment on [issue #7](https://github.com/harleyttd/auditable/issues/7#issuecomment-5520894)
|
9
13
|
* Fix bug not finding the right audit in rare cases when there are many audits with the same `created_at` timestamp
|
10
14
|
|
11
15
|
### 0.1.1 (2012-04-11)
|
data/lib/auditable.rb
CHANGED
data/lib/auditable/auditing.rb
CHANGED
@@ -22,12 +22,15 @@ module Auditable
|
|
22
22
|
# class Survey < ActiveRecord::Base
|
23
23
|
# audit :page_count, :question_ids
|
24
24
|
# end
|
25
|
-
def audit(*
|
26
|
-
|
25
|
+
def audit(*args)
|
26
|
+
options = args.extract_options!
|
27
|
+
options[:class_name] ||= "Auditable::Audit"
|
28
|
+
options[:as] = :auditable
|
29
|
+
has_many :audits, options
|
27
30
|
after_create {|record| record.snap!(:action => "create")}
|
28
31
|
after_update {|record| record.snap!(:action => "update")}
|
29
32
|
|
30
|
-
self.audited_attributes = Array.wrap
|
33
|
+
self.audited_attributes = Array.wrap args
|
31
34
|
end
|
32
35
|
end
|
33
36
|
|
data/lib/auditable/version.rb
CHANGED
data/spec/lib/auditable_spec.rb
CHANGED
@@ -11,6 +11,10 @@ describe Auditable do
|
|
11
11
|
let(:user) { User.create :name => "test user" }
|
12
12
|
let(:another_user) { User.create :name => "another user" }
|
13
13
|
|
14
|
+
it "should have a valid audit class name" do
|
15
|
+
survey.audits.first.should be_instance_of(MyAudit)
|
16
|
+
end
|
17
|
+
|
14
18
|
it "should have a valid audit to start with" do
|
15
19
|
survey.title.should == "test survey"
|
16
20
|
survey.audited_changes.should == {"title" => [nil, "test survey"]}
|
data/spec/support/models.rb
CHANGED
@@ -1,13 +1,17 @@
|
|
1
1
|
class Survey < ActiveRecord::Base
|
2
2
|
attr_accessor :current_page
|
3
3
|
|
4
|
-
audit :title, :current_page
|
4
|
+
audit :title, :current_page, :class_name => "MyAudit"
|
5
5
|
end
|
6
6
|
|
7
7
|
class User < ActiveRecord::Base
|
8
8
|
audit :name
|
9
9
|
end
|
10
10
|
|
11
|
+
class MyAudit < Auditable::Audit
|
12
|
+
|
13
|
+
end
|
14
|
+
|
11
15
|
# TODO add Question class to give examples on association stuff
|
12
16
|
|
13
17
|
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: auditable
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.4
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,11 +9,11 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date:
|
12
|
+
date: 2013-01-11 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rake
|
16
|
-
requirement:
|
16
|
+
requirement: !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ! '>='
|
@@ -21,10 +21,15 @@ dependencies:
|
|
21
21
|
version: '0'
|
22
22
|
type: :development
|
23
23
|
prerelease: false
|
24
|
-
version_requirements:
|
24
|
+
version_requirements: !ruby/object:Gem::Requirement
|
25
|
+
none: false
|
26
|
+
requirements:
|
27
|
+
- - ! '>='
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
version: '0'
|
25
30
|
- !ruby/object:Gem::Dependency
|
26
31
|
name: rspec
|
27
|
-
requirement:
|
32
|
+
requirement: !ruby/object:Gem::Requirement
|
28
33
|
none: false
|
29
34
|
requirements:
|
30
35
|
- - ! '>='
|
@@ -32,10 +37,15 @@ dependencies:
|
|
32
37
|
version: '2'
|
33
38
|
type: :development
|
34
39
|
prerelease: false
|
35
|
-
version_requirements:
|
40
|
+
version_requirements: !ruby/object:Gem::Requirement
|
41
|
+
none: false
|
42
|
+
requirements:
|
43
|
+
- - ! '>='
|
44
|
+
- !ruby/object:Gem::Version
|
45
|
+
version: '2'
|
36
46
|
- !ruby/object:Gem::Dependency
|
37
47
|
name: watchr
|
38
|
-
requirement:
|
48
|
+
requirement: !ruby/object:Gem::Requirement
|
39
49
|
none: false
|
40
50
|
requirements:
|
41
51
|
- - ! '>='
|
@@ -43,10 +53,15 @@ dependencies:
|
|
43
53
|
version: '0'
|
44
54
|
type: :development
|
45
55
|
prerelease: false
|
46
|
-
version_requirements:
|
56
|
+
version_requirements: !ruby/object:Gem::Requirement
|
57
|
+
none: false
|
58
|
+
requirements:
|
59
|
+
- - ! '>='
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '0'
|
47
62
|
- !ruby/object:Gem::Dependency
|
48
63
|
name: sqlite3
|
49
|
-
requirement:
|
64
|
+
requirement: !ruby/object:Gem::Requirement
|
50
65
|
none: false
|
51
66
|
requirements:
|
52
67
|
- - ! '>='
|
@@ -54,10 +69,15 @@ dependencies:
|
|
54
69
|
version: '0'
|
55
70
|
type: :development
|
56
71
|
prerelease: false
|
57
|
-
version_requirements:
|
72
|
+
version_requirements: !ruby/object:Gem::Requirement
|
73
|
+
none: false
|
74
|
+
requirements:
|
75
|
+
- - ! '>='
|
76
|
+
- !ruby/object:Gem::Version
|
77
|
+
version: '0'
|
58
78
|
- !ruby/object:Gem::Dependency
|
59
79
|
name: timecop
|
60
|
-
requirement:
|
80
|
+
requirement: !ruby/object:Gem::Requirement
|
61
81
|
none: false
|
62
82
|
requirements:
|
63
83
|
- - ! '>='
|
@@ -65,10 +85,15 @@ dependencies:
|
|
65
85
|
version: '0'
|
66
86
|
type: :development
|
67
87
|
prerelease: false
|
68
|
-
version_requirements:
|
88
|
+
version_requirements: !ruby/object:Gem::Requirement
|
89
|
+
none: false
|
90
|
+
requirements:
|
91
|
+
- - ! '>='
|
92
|
+
- !ruby/object:Gem::Version
|
93
|
+
version: '0'
|
69
94
|
- !ruby/object:Gem::Dependency
|
70
95
|
name: yard
|
71
|
-
requirement:
|
96
|
+
requirement: !ruby/object:Gem::Requirement
|
72
97
|
none: false
|
73
98
|
requirements:
|
74
99
|
- - ! '>='
|
@@ -76,10 +101,15 @@ dependencies:
|
|
76
101
|
version: '0'
|
77
102
|
type: :development
|
78
103
|
prerelease: false
|
79
|
-
version_requirements:
|
104
|
+
version_requirements: !ruby/object:Gem::Requirement
|
105
|
+
none: false
|
106
|
+
requirements:
|
107
|
+
- - ! '>='
|
108
|
+
- !ruby/object:Gem::Version
|
109
|
+
version: '0'
|
80
110
|
- !ruby/object:Gem::Dependency
|
81
111
|
name: rdiscount
|
82
|
-
requirement:
|
112
|
+
requirement: !ruby/object:Gem::Requirement
|
83
113
|
none: false
|
84
114
|
requirements:
|
85
115
|
- - ! '>='
|
@@ -87,10 +117,15 @@ dependencies:
|
|
87
117
|
version: '0'
|
88
118
|
type: :development
|
89
119
|
prerelease: false
|
90
|
-
version_requirements:
|
120
|
+
version_requirements: !ruby/object:Gem::Requirement
|
121
|
+
none: false
|
122
|
+
requirements:
|
123
|
+
- - ! '>='
|
124
|
+
- !ruby/object:Gem::Version
|
125
|
+
version: '0'
|
91
126
|
- !ruby/object:Gem::Dependency
|
92
127
|
name: activesupport
|
93
|
-
requirement:
|
128
|
+
requirement: !ruby/object:Gem::Requirement
|
94
129
|
none: false
|
95
130
|
requirements:
|
96
131
|
- - ! '>='
|
@@ -98,10 +133,15 @@ dependencies:
|
|
98
133
|
version: '3.0'
|
99
134
|
type: :runtime
|
100
135
|
prerelease: false
|
101
|
-
version_requirements:
|
136
|
+
version_requirements: !ruby/object:Gem::Requirement
|
137
|
+
none: false
|
138
|
+
requirements:
|
139
|
+
- - ! '>='
|
140
|
+
- !ruby/object:Gem::Version
|
141
|
+
version: '3.0'
|
102
142
|
- !ruby/object:Gem::Dependency
|
103
143
|
name: activerecord
|
104
|
-
requirement:
|
144
|
+
requirement: !ruby/object:Gem::Requirement
|
105
145
|
none: false
|
106
146
|
requirements:
|
107
147
|
- - ! '>='
|
@@ -109,7 +149,12 @@ dependencies:
|
|
109
149
|
version: '3.0'
|
110
150
|
type: :runtime
|
111
151
|
prerelease: false
|
112
|
-
version_requirements:
|
152
|
+
version_requirements: !ruby/object:Gem::Requirement
|
153
|
+
none: false
|
154
|
+
requirements:
|
155
|
+
- - ! '>='
|
156
|
+
- !ruby/object:Gem::Version
|
157
|
+
version: '3.0'
|
113
158
|
description: A simple gem that audit ActiveRecord models' attributes or methods by
|
114
159
|
taking snapshots and diff them for you. Starting from scratch to work with Rails
|
115
160
|
3.2.2 onwards
|
@@ -153,15 +198,21 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
153
198
|
- - ! '>='
|
154
199
|
- !ruby/object:Gem::Version
|
155
200
|
version: '0'
|
201
|
+
segments:
|
202
|
+
- 0
|
203
|
+
hash: 4236402516311877901
|
156
204
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
157
205
|
none: false
|
158
206
|
requirements:
|
159
207
|
- - ! '>='
|
160
208
|
- !ruby/object:Gem::Version
|
161
209
|
version: '0'
|
210
|
+
segments:
|
211
|
+
- 0
|
212
|
+
hash: 4236402516311877901
|
162
213
|
requirements: []
|
163
214
|
rubyforge_project:
|
164
|
-
rubygems_version: 1.8.
|
215
|
+
rubygems_version: 1.8.24
|
165
216
|
signing_key:
|
166
217
|
specification_version: 3
|
167
218
|
summary: A simple gem to audit attributes and methods in ActiveRecord models.
|