nexus_semantic_logger 1.7.0 → 1.7.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: 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