nexus_semantic_logger 1.7.0 → 1.7.1

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: c5403708253ceb9cf820c6a8b027d0be275d5cb7e5329229ebfd93e51d4f8725
4
- data.tar.gz: 80b06cd16cd31019b72cdf1c15dfbd7a8c3f85760d712b261497b22259681578
3
+ metadata.gz: 1130bf8563ee797be7fdd03353edab98a7708c3ea15921a5f9a2e55a731d88b3
4
+ data.tar.gz: b12deda67b3bb270a4dfff3984a03bb01ab7cf6e70d43b9e6f21b1799bb8282c
5
5
  SHA512:
6
- metadata.gz: c9d24b87589d0ffedadb335893d8f2d7143e60e492e8e3383aeae3657b77c999347983cae70facaf3b6651d97a9c20704e9d0ff4657f3bbe24df952dd6596890
7
- data.tar.gz: cd9e460d524189879e8387582391b567fc052cd7699853f60482589a11a59450102bb2c6120f7bcdad02f610ecab031d423d3b04ccd6d6f98fdfcdb26a58bdc1
6
+ metadata.gz: 13efac602c61725f8dbcf9550747f2fd7941df5cf09e03726244fb5305ab54c085f6ad1c77406fb1a2c21fcd3e4ed839cba212b43a4303791400ba063f4743f2
7
+ data.tar.gz: 98682035351e5d9ca7fd46a619845d7e0111b1bb54033d87eb768b8d6e9166f0103580aa963d6078a0aaf01cf4c22392e26b5014bf02399b0df5a71e3497e6c8
@@ -32,6 +32,24 @@ module NexusSemanticLogger
32
32
  if named_tags.is_a?(Hash)
33
33
  hash.deep_merge!(named_tags)
34
34
  end
35
+ hash_to_json(hash)
36
+ end
37
+
38
+ # Serialise hash to json while ensuring we don't abort due to an infinite loop.
39
+ # SystemStackError while serialising indicates an infinite loop- determine which key is affected.
40
+ def hash_to_json(hash)
41
+ hash.to_json
42
+ rescue SystemStackError
43
+ as_json_serialise_errors = []
44
+ hash.keys.each do |key|
45
+ begin
46
+ hash[key].as_json
47
+ rescue SystemStackError
48
+ hash.delete(key)
49
+ as_json_serialise_errors << key
50
+ end
51
+ end
52
+ hash[:as_json_serialise_errors] = as_json_serialise_errors
35
53
  hash.to_json
36
54
  end
37
55
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
  module NexusSemanticLogger
3
- # Leave this as 1.7.0 in order for CI process to replace with the tagged version.
4
- VERSION = '1.7.0'
3
+ # Leave this as 1.7.1 in order for CI process to replace with the tagged version.
4
+ VERSION = '1.7.1'
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: nexus_semantic_logger
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.7.0
4
+ version: 1.7.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Johnathon Harris
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-11-17 00:00:00.000000000 Z
11
+ date: 2022-11-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: amazing_print