effective_logging 3.1.13 → 3.2.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
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a23b979f527eb3dd28abf6fc248249ed42ea2c89f37812422a55a6d5e77d28d7
|
4
|
+
data.tar.gz: 345eea26ac95e464e3568665ebed017d68dd1d06c62f491e668631d1fdd2c084
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 22235f3413f24925720a1f58f38f1a3f8c8aabcc728356275da3679773a9cf5fe65a1e7fa8f6c37d55c3dc5938355e0a499783effc274c77dfba8076cda82155
|
7
|
+
data.tar.gz: 47162b81ab21ff50f614275a08efc9742e4fe7f63ecdc7d1b4f40c443c1f1b3799ee94b46025e808172148b3e4a901b49175482bfa8a18de60959d5443258801
|
data/app/models/effective/log.rb
CHANGED
data/config/routes.rb
CHANGED
@@ -3,19 +3,19 @@ module EffectiveLogging
|
|
3
3
|
def self.delivering_email(message)
|
4
4
|
return if EffectiveLogging.supressed?
|
5
5
|
return unless message.present?
|
6
|
+
return unless ActiveRecord::Base.connection.table_exists?(:logs)
|
6
7
|
|
7
8
|
# collect a Hash of arguments used to invoke EffectiveLogger.success
|
8
|
-
fields = { from: message.from.join(','), to: message.to, subject: message.subject, cc: message.cc, bcc: message.bcc }
|
9
|
+
fields = { from: Array(message.from).join(','), to: message.to, subject: message.subject, cc: message.cc, bcc: message.bcc }
|
9
10
|
|
10
11
|
# Add a log header to your mailer to pass some objects or additional things to EffectiveLogger
|
11
12
|
# mail(to: 'admin@example.com', subject: @post.title, log: @post)
|
12
13
|
log = if message.header['log'].present?
|
13
|
-
|
14
|
-
|
15
|
-
message.header['log'] = nil
|
16
|
-
value
|
14
|
+
message.header['log'].instance_variable_get(:@unparsed_value) ||
|
15
|
+
message.header['log'].instance_variable_get(:@value)
|
17
16
|
end
|
18
17
|
|
18
|
+
# If we have a logged object, associate it
|
19
19
|
if log.present?
|
20
20
|
if log.kind_of?(ActiveRecord::Base)
|
21
21
|
fields.merge!(associated: log)
|
@@ -26,25 +26,24 @@ module EffectiveLogging
|
|
26
26
|
end
|
27
27
|
end
|
28
28
|
|
29
|
-
#
|
30
|
-
|
31
|
-
|
32
|
-
value = Array(message.header['tenant']).first.to_s.to_sym # OptionalField, not a String here
|
33
|
-
message.header['tenant'] = nil
|
34
|
-
value
|
29
|
+
# Read the current app's Tenant if defined
|
30
|
+
tenant = if defined?(Tenant)
|
31
|
+
Tenant.current || raise("Missing tenant in effective_logging email logger")
|
35
32
|
end
|
36
33
|
|
34
|
+
# Clean up the header
|
35
|
+
message.header.fields.delete_if { |field| ['tenant', 'log'].include?(field.name) }
|
36
|
+
|
37
|
+
# Parse the content for logging
|
37
38
|
parts = (message.body.try(:parts) || []).map { |part| [part, (part.parts if part.respond_to?(:parts))] }.flatten
|
38
39
|
body = parts.find { |part| part.content_type.to_s.downcase.include?('text/html') } || message.body
|
39
|
-
|
40
40
|
fields[:email] = "#{message.header}<hr>#{body}"
|
41
41
|
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
end
|
42
|
+
# Find the user to associate it with
|
43
|
+
user_klass = (tenant ? Tenant.engine_user(tenant) : 'User'.safe_constantize)
|
44
|
+
|
45
|
+
# Log the email
|
46
|
+
log_email(message, fields, user_klass)
|
48
47
|
|
49
48
|
true
|
50
49
|
end
|
@@ -64,6 +63,8 @@ module EffectiveLogging
|
|
64
63
|
if tos.blank? && (message.cc.present? || message.bcc.present?)
|
65
64
|
::EffectiveLogger.email("#{message.subject} - multiple recipients", fields)
|
66
65
|
end
|
66
|
+
|
67
|
+
true
|
67
68
|
end
|
68
69
|
|
69
70
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: effective_logging
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.1
|
4
|
+
version: 3.2.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Code and Effect
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2022-01-24 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|