effective_logging 1.7.0 → 1.7.1
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.
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 8f9e1486d4c3bf0fc430ed4f50b803e30afba2fe
|
4
|
+
data.tar.gz: 40e598aba305e9829ebf96629c1b18b2cf1cebcb
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 3c17e821361ed6f77c7cb934c5a39fdb532371128542e567703bd67d8eb3d1257ae4bee524ccbd1bfad4d909f04c421a19a23282f2b1433eb2d48eeac8092b51
|
7
|
+
data.tar.gz: 86e384b5ebff16315ddf1d7cbf7a325f409eacb63926309b69744b85f50a26951bc09e83aa09466ac55be67b513f5be2d3d4be9ea9e3c32975c3476e3765909c
|
@@ -6,12 +6,15 @@ module EffectiveLogging
|
|
6
6
|
|
7
7
|
def initialize(resource, options = {})
|
8
8
|
raise ArgumentError.new('options must be a Hash') unless options.kind_of?(Hash)
|
9
|
-
raise ArgumentError.new('logger must respond to logged_changes') unless (options[:logger] || resource).respond_to?(:logged_changes)
|
10
9
|
|
11
10
|
@resource = resource
|
12
11
|
@logger = options.delete(:logger) || resource
|
13
12
|
@depth = options.delete(:depth) || 0
|
14
13
|
@options = options
|
14
|
+
|
15
|
+
unless @logger.respond_to?(:logged_changes) || @logger.respond_to?(:trash)
|
16
|
+
raise ArgumentError.new('logger must respond to logged_changes or trash')
|
17
|
+
end
|
15
18
|
end
|
16
19
|
|
17
20
|
# execute! is called when we recurse, otherwise the following methods are best called individually
|
@@ -27,7 +30,7 @@ module EffectiveLogging
|
|
27
30
|
|
28
31
|
# before_destroy
|
29
32
|
def trashed!
|
30
|
-
|
33
|
+
log_trash((resource.to_s rescue ''), details: applicable(attributes))
|
31
34
|
end
|
32
35
|
|
33
36
|
# before_destroy
|
@@ -115,10 +118,19 @@ module EffectiveLogging
|
|
115
118
|
|
116
119
|
private
|
117
120
|
|
118
|
-
def log(message,
|
121
|
+
def log(message, details: {})
|
119
122
|
logger.logged_changes.build(
|
120
123
|
user: EffectiveLogging.current_user,
|
121
|
-
status:
|
124
|
+
status: EffectiveLogging.log_changes_status,
|
125
|
+
message: "#{"\t" * depth}#{options[:prefix]}#{message}",
|
126
|
+
details: details
|
127
|
+
).tap { |log| log.save }
|
128
|
+
end
|
129
|
+
|
130
|
+
def log_trash(message, details: {})
|
131
|
+
logger.build_trash(
|
132
|
+
user: EffectiveLogging.current_user,
|
133
|
+
status: EffectiveLogging.trashable_status,
|
122
134
|
message: "#{"\t" * depth}#{options[:prefix]}#{message}",
|
123
135
|
details: details
|
124
136
|
).tap { |log| log.save }
|