effective_logging 3.1.4 → 3.1.5

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 58a1c50df31d737cfd39e21a51ed64ab49bd9ec13ede06aaa16e047799abe431
4
- data.tar.gz: 28d0db5308e8a8559d05951ac9ee325cdaf3ca3f24ee046ba975f403427ae4ba
3
+ metadata.gz: fded3d821985ef83c7634533c8160498abfaef98e23976e1cd1e0df89646bc91
4
+ data.tar.gz: 4a662a9883fb91fdcadf09969e0f826e5e9e5a339d6a150b3b902b05420fb86c
5
5
  SHA512:
6
- metadata.gz: 7cc96831bcbf17fd3307f0b5f66b5a3e17cee77a753b0dbe635184e2f678cbdb80f4fc5fd962d21ec0ca05c6ee98c353a6eddd7075ca2d3860f41ffbc7cb1445
7
- data.tar.gz: ca38d82b8e4b814bc39087b52ebddb78d5e83ced0198799eda8e082b6180fe5ca9ed215f9299e2c02af4d11a227b925f17a5a58c91d69b07675b47a66589b5d6
6
+ metadata.gz: dfbeda5d1e61db271cc68476f00c31a3ada3ab4fcb6726ee5496f4cd2132cabf5e449def28339dde8533eed82cf0be2ac7b1e69d5c54cdf61b6682fa7ab4d5ed
7
+ data.tar.gz: cab6daf708f644c173844c3b7b01e8a98145c1afe7f8ba6824f248804f59dc4b4a98250b5d363239549be5f789789c249f21f6eb95fc453183c058f1f3c3c631
@@ -8,10 +8,19 @@ module EffectiveLogging
8
8
  fields = { from: message.from.join(','), to: message.to, subject: message.subject, cc: message.cc, bcc: message.bcc }
9
9
 
10
10
  # Add a log header to your mailer to pass some objects or additional things to EffectiveLogger
11
- # mail(to: 'admin@example.com', subject: @post.title, log: { post: @post })
11
+ # mail(to: 'admin@example.com', subject: @post.title, log: @post)
12
+
12
13
  if message.header['log'].present?
13
- # This is a bit sketchy, but gives access to the object in Rails 4.2 anyway
14
- fields.merge!(message.header['log'].instance_variable_get(:@value) || {})
14
+ obj = message.header['log'].instance_variable_get(:@unparsed_value)
15
+ obj ||= message.header['log'].instance_variable_get(:@value)
16
+
17
+ if obj.kind_of?(ActiveRecord::Base)
18
+ fields.merge!(associated: obj)
19
+ elsif obj.kind_of?(Hash)
20
+ fields.merge!(obj)
21
+ else
22
+ raise('log expected an ActiveRecord object or Hash')
23
+ end
15
24
 
16
25
  # Get rid of the extra header, as it should not be set in the real mail message.
17
26
  message.header['log'] = nil
@@ -49,7 +58,7 @@ module EffectiveLogging
49
58
  tos.each do |to|
50
59
  user = (user_klass.where(email: to.downcase).first if user_klass.present?)
51
60
 
52
- user_fields = fields.merge(to: to, user: user, associated: user)
61
+ user_fields = fields.merge(to: to, user: user)
53
62
  ::EffectiveLogger.email("#{message.subject} - #{tos.join(', ')}", user_fields)
54
63
  end
55
64
 
@@ -1,3 +1,3 @@
1
1
  module EffectiveLogging
2
- VERSION = '3.1.4'.freeze
2
+ VERSION = '3.1.5'.freeze
3
3
  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
4
+ version: 3.1.5
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: 2021-03-11 00:00:00.000000000 Z
11
+ date: 2021-03-16 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails