effective_logging 2.0.2 → 2.0.3

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: 7434cf485dffbdf6247f4b3b443b5f960be1800e
4
- data.tar.gz: cfddb7f270f5ca439a636cd97307a2da93f30d9f
3
+ metadata.gz: 1f13ff153b87e251c687b2fbd6fe49dc870050c0
4
+ data.tar.gz: bbee752de6d570e21276612e9a14d97448671640
5
5
  SHA512:
6
- metadata.gz: 91e89fc02a6fd44d5772fd3eaf8227875792efb50e2b679b6c02b359ffce1d9dcd2857fcf1731aded213c1919cc81a379acb1a5db55e74bce8715f8d48e85104
7
- data.tar.gz: 0d6472016fd5f78135d4bc843e1c37e86b78471ea6215af834d6f603b2d73720dba903e3987876bc14eb452a4433a0cb967aa93271bcc14e20fd8da1da563ee8
6
+ metadata.gz: 5c805494dba913dd2bd10dd047e10b047f22e7c79164419cfaa76ab1ba22e51191b854a7681bc6129061e41f0804615b890e115759cfd703c749c091e1929b7b
7
+ data.tar.gz: 3aa1ec9ddf7cfa73e0de6dca4fea9bbf53fa35c3a057ca0fc84c0c0faad950fd6f64340b5df89780db0b6d6f0a580b6b62dc4ee6fd4062fb6c45193239e5bf96
@@ -2,6 +2,8 @@
2
2
 
3
3
  class EffectiveLogger
4
4
  def self.log(message, status = EffectiveLogging.statuses.first, options = {})
5
+ options = Hash(options).delete_if { |k, v| v.blank? }
6
+
5
7
  if options[:user].present? && !options[:user].kind_of?(User)
6
8
  raise ArgumentError.new('Log.log :user => ... argument must be a User object')
7
9
  end
@@ -14,6 +16,14 @@ class EffectiveLogger
14
16
  raise ArgumentError.new('Log.log :associated => ... argument must be an ActiveRecord::Base object')
15
17
  end
16
18
 
19
+ if options[:request].present? && options[:request].respond_to?(:referrer)
20
+ request = options.delete(:request)
21
+
22
+ options[:ip] ||= request.ip
23
+ options[:referrer] ||= request.referrer
24
+ options[:user_agent] ||= request.user_agent
25
+ end
26
+
17
27
  log = Effective::Log.new(
18
28
  message: message,
19
29
  status: status,
@@ -21,24 +31,17 @@ class EffectiveLogger
21
31
  user: options.delete(:user),
22
32
  parent: options.delete(:parent),
23
33
  associated: options.delete(:associated),
24
- associated_to_s: options.delete(:associated_to_s)
34
+ associated_to_s: options.delete(:associated_to_s),
35
+ details: options
25
36
  )
26
37
 
27
38
  if log.associated.present?
28
- log.associated_to_s ||= (log.associated.to_s rescue nil)
29
- end
30
-
31
- if options[:request].present? && options[:request].respond_to?(:referrer)
32
- request = options.delete(:request)
33
-
34
- options[:ip] ||= request.ip
35
- options[:referrer] ||= request.referrer
36
- options[:user_agent] ||= request.user_agent
39
+ log.associated_to_s ||= log.associated.to_s
37
40
  end
38
41
 
39
- log.details = options.delete_if { |k, v| v.blank? } if options.kind_of?(Hash)
42
+ log.save!
40
43
 
41
- log.save
44
+ log
42
45
  end
43
46
 
44
47
  # Dynamically add logging methods based on the defined statuses
@@ -1,3 +1,3 @@
1
1
  module EffectiveLogging
2
- VERSION = '2.0.2'.freeze
2
+ VERSION = '2.0.3'.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: 2.0.2
4
+ version: 2.0.3
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: 2018-03-27 00:00:00.000000000 Z
11
+ date: 2018-04-05 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails