audit_log 0.0.7 → 0.0.8
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/lib/audit_log/mapping.rb +2 -1
- data/lib/audit_log/observer.rb +16 -2
- data/lib/audit_log/version.rb +1 -1
- metadata +8 -8
data/lib/audit_log/mapping.rb
CHANGED
@@ -18,7 +18,8 @@ module AuditLog
|
|
18
18
|
def audit(model_name, options = {})
|
19
19
|
@audit_mappings[model_name] = {
|
20
20
|
ignored_fields: options[:ignore] || [],
|
21
|
-
nested_audited_models: []
|
21
|
+
nested_audited_models: [],
|
22
|
+
controllers: options[:controllers] || [model_name]
|
22
23
|
}
|
23
24
|
|
24
25
|
@current = @audit_mappings[model_name]
|
data/lib/audit_log/observer.rb
CHANGED
@@ -28,13 +28,18 @@ class AuditedModelsObserver < ActiveRecord::Observer
|
|
28
28
|
set_model_to_audit(model)
|
29
29
|
|
30
30
|
if self.controller && self.controller.audited_model == model
|
31
|
+
what = {id: model.id, event: :destroy}
|
32
|
+
what = what.merge(ActiveSupport::JSON.decode(model.to_json(root: false, include: association_audit_loggers(model))))
|
33
|
+
|
31
34
|
logged_model = LoggedModel.new(
|
32
35
|
who: self.controller.current_user_for_audit_log ? self.controller.current_user_for_audit_log.id : nil,
|
33
|
-
what:
|
36
|
+
what: what,
|
34
37
|
model_name: model.class.name,
|
35
38
|
model_id: model.id
|
36
39
|
)
|
37
40
|
logged_model.save
|
41
|
+
|
42
|
+
self.controller.audited_model = nil
|
38
43
|
end
|
39
44
|
end
|
40
45
|
|
@@ -53,6 +58,8 @@ class AuditedModelsObserver < ActiveRecord::Observer
|
|
53
58
|
)
|
54
59
|
logged_model.save
|
55
60
|
end
|
61
|
+
|
62
|
+
self.controller.audited_model = nil
|
56
63
|
end
|
57
64
|
end
|
58
65
|
|
@@ -132,11 +139,18 @@ class AuditedModelsObserver < ActiveRecord::Observer
|
|
132
139
|
private
|
133
140
|
|
134
141
|
def set_model_to_audit(model)
|
135
|
-
if self.controller &&
|
142
|
+
if self.controller && is_controller_mapped_to_model(model)
|
136
143
|
self.controller.audited_model ||= model
|
137
144
|
end
|
138
145
|
end
|
139
146
|
|
147
|
+
def is_controller_mapped_to_model(model)
|
148
|
+
controller_name = self.controller.params[:controller].sub("Controller", "").underscore.split("/").last
|
149
|
+
mapped_controller_names = AuditLog::Mapping.instance.audit_mappings[model.class.to_s.underscore.to_sym][:controllers]
|
150
|
+
|
151
|
+
mapped_controller_names.collect{|e| e.to_s.singularize}.include?(controller_name.to_s.singularize)
|
152
|
+
end
|
153
|
+
|
140
154
|
def has_some_association_changed?(model)
|
141
155
|
changed = false
|
142
156
|
|
data/lib/audit_log/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: audit_log
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.8
|
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: 2012-
|
12
|
+
date: 2012-11-26 00:00:00.000000000Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rails
|
16
|
-
requirement: &
|
16
|
+
requirement: &69592980 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ! '>'
|
@@ -21,10 +21,10 @@ dependencies:
|
|
21
21
|
version: '3.2'
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *69592980
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: sqlite3
|
27
|
-
requirement: &
|
27
|
+
requirement: &69592560 !ruby/object:Gem::Requirement
|
28
28
|
none: false
|
29
29
|
requirements:
|
30
30
|
- - ! '>='
|
@@ -32,10 +32,10 @@ dependencies:
|
|
32
32
|
version: '0'
|
33
33
|
type: :development
|
34
34
|
prerelease: false
|
35
|
-
version_requirements: *
|
35
|
+
version_requirements: *69592560
|
36
36
|
- !ruby/object:Gem::Dependency
|
37
37
|
name: rspec-rails
|
38
|
-
requirement: &
|
38
|
+
requirement: &69592330 !ruby/object:Gem::Requirement
|
39
39
|
none: false
|
40
40
|
requirements:
|
41
41
|
- - ! '>='
|
@@ -43,7 +43,7 @@ dependencies:
|
|
43
43
|
version: '0'
|
44
44
|
type: :development
|
45
45
|
prerelease: false
|
46
|
-
version_requirements: *
|
46
|
+
version_requirements: *69592330
|
47
47
|
description:
|
48
48
|
email:
|
49
49
|
- ti@connectere.agr.br
|