effective_logging 2.0.2 → 2.0.3

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
  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