umbrellio-utils 0.3.0 → 0.4.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: 7ad8f07af559cdaaabcb97428722b18a80109a4719922f2e32a3f1ab32b40dba
4
- data.tar.gz: 47d944ce423bd48a3e1fb8e56601a97e184830fdd696f2322acc97e4e75058d1
3
+ metadata.gz: cb8113580849f3996fb8afb0859ef04df431f6e816cf9fcc89df3bab0066e751
4
+ data.tar.gz: 70e23152849fcb46aa8a012d04444ab6f164a0f0bca16a7aa46cd856987c208b
5
5
  SHA512:
6
- metadata.gz: 01fb5c648f8789a1feb93cf6aa8f1664798eb416f0a9d37048f90da4dd6d0ce402b9ce87436ff9dee75617ba372ee0b9c1a11db082c8a8763cc4cf0f3d988789
7
- data.tar.gz: 5cb141aa1495ba285ffe2afaf0fed3acfb256f520b98ce555e6c882e9ff9ac584e7bfb284b949dd31462b141a13d63c9ee48248a5d7a24c2285ad9b260946792
6
+ metadata.gz: 475aea0da1551e6b5104eb684f3fd815dee4654529f0cdfbf807bad0a21efdf19df9d37a5caad4a2bb024998dd8dcae1b8458cbe241b26e63ab57d33ff0fb030
7
+ data.tar.gz: e035b81cebc72254342d4ff40583afc2f26ed37978aea4a9d01953971ff6bce3ee3c8536c5a76760e99de3f6f0ff8c1f59dafebafb15506e55dc2d120513f77d
@@ -32,7 +32,6 @@ jobs:
32
32
  github-token: ${{ secrets.GITHUB_TOKEN }}
33
33
  specs:
34
34
  runs-on: ubuntu-latest
35
- continue-on-error: ${{ matrix.experimental }}
36
35
 
37
36
  env:
38
37
  FULL_TEST_COVERAGE_CHECK: false
@@ -44,10 +43,6 @@ jobs:
44
43
  fail-fast: false
45
44
  matrix:
46
45
  ruby: [2.6, 2.7]
47
- experimental: [false]
48
- include:
49
- - ruby: head
50
- experimental: true
51
46
 
52
47
 
53
48
  steps:
data/Gemfile.lock CHANGED
@@ -1,20 +1,21 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- umbrellio-utils (0.3.0)
4
+ umbrellio-utils (0.4.1)
5
5
  memery (~> 1)
6
6
 
7
7
  GEM
8
8
  remote: https://rubygems.org/
9
9
  specs:
10
- activesupport (6.1.3.1)
10
+ activesupport (6.1.4.1)
11
11
  concurrent-ruby (~> 1.0, >= 1.0.2)
12
12
  i18n (>= 1.6, < 2)
13
13
  minitest (>= 5.1)
14
14
  tzinfo (~> 2.0)
15
15
  zeitwerk (~> 2.3)
16
16
  ast (2.4.2)
17
- bundler-audit (0.8.0)
17
+ awesome_print (1.9.2)
18
+ bundler-audit (0.9.0.1)
18
19
  bundler (>= 1.2.0, < 3)
19
20
  thor (~> 1.0)
20
21
  ci-helper (0.4.2)
@@ -23,25 +24,30 @@ GEM
23
24
  umbrellio-sequel-plugins (~> 0.4)
24
25
  coderay (1.1.3)
25
26
  colorize (0.8.1)
26
- concurrent-ruby (1.1.8)
27
+ concurrent-ruby (1.1.9)
27
28
  diff-lcs (1.4.4)
28
- docile (1.3.5)
29
- dry-inflector (0.2.0)
29
+ docile (1.4.0)
30
+ dry-inflector (0.2.1)
30
31
  i18n (1.8.10)
31
32
  concurrent-ruby (~> 1.0)
32
- memery (1.4.0)
33
+ json (2.6.1)
34
+ memery (1.4.1)
33
35
  ruby2_keywords (~> 0.0.2)
34
36
  method_source (1.0.0)
35
37
  minitest (5.14.4)
36
- parallel (1.20.1)
37
- parser (3.0.1.0)
38
+ nokogiri (1.12.5-x86_64-linux)
39
+ racc (~> 1.4)
40
+ nori (2.6.0)
41
+ parallel (1.21.0)
42
+ parser (3.0.2.0)
38
43
  ast (~> 2.4.1)
39
- pry (0.14.0)
44
+ pry (0.14.1)
40
45
  coderay (~> 1.1)
41
46
  method_source (~> 1.0)
47
+ racc (1.6.0)
42
48
  rack (2.2.3)
43
49
  rainbow (3.0.0)
44
- rake (13.0.3)
50
+ rake (13.0.6)
45
51
  regexp_parser (2.1.1)
46
52
  rexml (3.2.5)
47
53
  rspec (3.10.0)
@@ -53,23 +59,26 @@ GEM
53
59
  rspec-expectations (3.10.1)
54
60
  diff-lcs (>= 1.2.0, < 2.0)
55
61
  rspec-support (~> 3.10.0)
62
+ rspec-json_matcher (0.1.6)
63
+ awesome_print
64
+ json
56
65
  rspec-mocks (3.10.2)
57
66
  diff-lcs (>= 1.2.0, < 2.0)
58
67
  rspec-support (~> 3.10.0)
59
68
  rspec-support (3.10.2)
60
- rubocop (1.11.0)
69
+ rubocop (1.17.0)
61
70
  parallel (~> 1.10)
62
71
  parser (>= 3.0.0.0)
63
72
  rainbow (>= 2.2.2, < 4.0)
64
73
  regexp_parser (>= 1.8, < 3.0)
65
74
  rexml
66
- rubocop-ast (>= 1.2.0, < 2.0)
75
+ rubocop-ast (>= 1.7.0, < 2.0)
67
76
  ruby-progressbar (~> 1.7)
68
77
  unicode-display_width (>= 1.4.0, < 3.0)
69
- rubocop-ast (1.4.1)
70
- parser (>= 2.7.1.5)
71
- rubocop-config-umbrellio (1.11.0.40)
72
- rubocop (= 1.11.0)
78
+ rubocop-ast (1.12.0)
79
+ parser (>= 3.0.1.1)
80
+ rubocop-config-umbrellio (1.17.0.53)
81
+ rubocop (= 1.17.0)
73
82
  rubocop-performance (= 1.10.0)
74
83
  rubocop-rails (= 2.9.1)
75
84
  rubocop-rake (= 0.5.1)
@@ -90,41 +99,49 @@ GEM
90
99
  rubocop-sequel (0.2.0)
91
100
  rubocop (~> 1.0)
92
101
  ruby-progressbar (1.11.0)
93
- ruby2_keywords (0.0.4)
94
- sequel (5.43.0)
102
+ ruby2_keywords (0.0.5)
103
+ semantic_logger (4.8.2)
104
+ concurrent-ruby (~> 1.0)
105
+ sequel (5.49.0)
95
106
  simplecov (0.21.2)
96
107
  docile (~> 1.1)
97
108
  simplecov-html (~> 0.11)
98
109
  simplecov_json_formatter (~> 0.1)
99
110
  simplecov-html (0.12.3)
100
111
  simplecov-lcov (0.8.0)
101
- simplecov_json_formatter (0.1.2)
102
- symbiont-ruby (0.6.0)
112
+ simplecov_json_formatter (0.1.3)
113
+ symbiont-ruby (0.7.0)
103
114
  thor (1.1.0)
104
115
  tzinfo (2.0.4)
105
116
  concurrent-ruby (~> 1.0)
106
- umbrellio-sequel-plugins (0.4.0.164)
117
+ umbrellio-sequel-plugins (0.5.1.27)
107
118
  sequel
108
- symbiont-ruby (>= 0.6)
109
- unicode-display_width (2.0.0)
119
+ symbiont-ruby
120
+ unicode-display_width (2.1.0)
110
121
  yard (0.9.26)
111
- zeitwerk (2.4.2)
122
+ zeitwerk (2.5.1)
112
123
 
113
124
  PLATFORMS
125
+ x86_64-darwin-20
114
126
  x86_64-linux
115
127
 
116
128
  DEPENDENCIES
129
+ activesupport
117
130
  bundler
118
131
  bundler-audit
119
132
  ci-helper
133
+ nokogiri
134
+ nori
120
135
  pry
121
136
  rake
122
137
  rspec
138
+ rspec-json_matcher
123
139
  rubocop-config-umbrellio
140
+ semantic_logger
124
141
  simplecov
125
142
  simplecov-lcov
126
143
  umbrellio-utils!
127
144
  yard
128
145
 
129
146
  BUNDLED WITH
130
- 2.2.15
147
+ 2.2.30
data/README.md CHANGED
@@ -52,7 +52,7 @@ Some modules and classes are configurable. Here's the full list of settings and
52
52
  `UmbrellioUtils::HTTPClient`. Defaults to `:application_httpclient`
53
53
 
54
54
  You can change config in two ways. Firstly, you can change values by accessing configuration
55
- directly. Secondly, you can use `UmbrellioUtils::configure` method, which accepts a block.
55
+ directly. Secondly, you can use `UmbrellioUtils::configure` method which accepts a block.
56
56
 
57
57
  ```ruby
58
58
 
@@ -64,17 +64,17 @@ module UmbrellioUtils
64
64
  #
65
65
  # Expands a hash whose keys contain the path.
66
66
  #
67
- # @param [Hash] hash hash, which you want to expand
68
- # @param [String] delemiter, separator, which is used in the value of the keys
69
- # @param [Proc, Lambda, Symbol] key_converter, converter for key's value.
67
+ # @param hash [Hash] hash which you want to expand
68
+ # @param delimiter [String] separator which is used in the value of the keys
69
+ # @param key_converter [Proc, Lambda, Symbol] converter for key's value.
70
70
  # Defaults to :to_sym
71
71
  #
72
72
  # @return [Hash] expanded hash
73
73
  #
74
- def expand_hash(hash, delemiter: ".", key_converter: :to_sym)
75
- hash.each_with_object(Misc.build_infinite_hash) do |entry, memo|
74
+ def expand_hash(hash, delimiter: ".", key_converter: :to_sym)
75
+ result = hash.each_with_object(Misc.build_infinite_hash) do |entry, memo|
76
76
  path, value = entry
77
- *path_to_key, key = path.to_s.split(delemiter).map(&key_converter)
77
+ *path_to_key, key = path.to_s.split(delimiter).map(&key_converter)
78
78
 
79
79
  if path_to_key.empty?
80
80
  memo[key] = value
@@ -83,13 +83,15 @@ module UmbrellioUtils
83
83
  resolved_hash[key] = value
84
84
  end
85
85
  end
86
+
87
+ Misc.reset_defaults_for_hash(result)
86
88
  end
87
89
 
88
90
  #
89
91
  # Expands a nested hash whose keys contain the path.
90
92
  #
91
- # @param [Hash] hash, hash, which you want to expand
92
- # @param [Hash] **expand_hash_options options, that the
93
+ # @param hash [Hash] hash which you want to expand
94
+ # @param **expand_hash_options [Hash] options, that the
93
95
  # {#expand_hash} method accepts
94
96
  #
95
97
  # @return [Hash] expanded hash
@@ -19,14 +19,48 @@ module UmbrellioUtils
19
19
  end
20
20
  end
21
21
 
22
+ #
22
23
  # Ranges go from high to low priority
24
+ #
23
25
  def merge_ranges(*ranges)
24
26
  ranges = ranges.map { |x| x.present? && x.size == 2 ? x : [nil, nil] }
25
27
  ranges.first.zip(*ranges[1..]).map { |x| x.find(&:present?) }
26
28
  end
27
29
 
30
+ #
31
+ # Builds empty hash which recursively returns empty hash, if key is not found.
32
+ # Also note, that this hash and all subhashes has set #default_proc.
33
+ # To reset this attribute use {#reset_defaults_for_hash}
34
+ #
35
+ # @example Dig to key
36
+ # h = UmbrellioUtils::Misc.build_infinite_hash => {}
37
+ # h.dig(:kek, :pek) => {}
38
+ # h => { kek: { pek: {} } }
39
+ #
40
+ # @return [Hash] empty infinite hash.
41
+ #
28
42
  def build_infinite_hash
29
43
  Hash.new { |hash, key| hash[key] = Hash.new(&hash.default_proc) }
30
44
  end
45
+
46
+ #
47
+ # Deeply sets #default and #default_proc values to nil.
48
+ #
49
+ # @param hash [Hash] hash for which you want to reset defaults.
50
+ #
51
+ # @return [Hash] reset hash.
52
+ #
53
+ def reset_defaults_for_hash(hash)
54
+ hash.dup.tap do |dup_hash|
55
+ dup_hash.default = nil
56
+ dup_hash.default_proc = nil
57
+
58
+ dup_hash.transform_values! do |obj|
59
+ next obj.deep_dup unless obj.is_a?(Hash)
60
+
61
+ reset_defaults_for_hash(obj)
62
+ end
63
+ end
64
+ end
31
65
  end
32
66
  end
@@ -21,7 +21,7 @@ module UmbrellioUtils
21
21
  xml.xpath("//@*").remove if remove_attributes
22
22
 
23
23
  tags_converter = snakecase ? -> (tag) { tag.snakecase.to_sym } : -> (tag) { tag.to_sym }
24
- nori = Nori.new(convert_tags_to: tags_converter)
24
+ nori = Nori.new(convert_tags_to: tags_converter, convert_dashes_to_underscores: false)
25
25
  nori.parse(xml.to_xml(save_with: Nokogiri::XML::Node::SaveOptions::NO_DECLARATION))
26
26
  end
27
27
 
@@ -0,0 +1,87 @@
1
+ # frozen_string_literal: true
2
+
3
+ module UmbrellioUtils
4
+ # Namespace for the differrent appenders and formatters for the SemanticLogger library.
5
+ # @see https://logger.rocketjob.io/ Semantic Logger documentation.
6
+ module SemanticLogger
7
+ # Simple JSON formatter, represented as callable object.
8
+ # @example Using of formatter
9
+ # formatter = UmbrellioUtils::SemanticLogger::TinyJsonFormatter.new
10
+ # SemanticLogger.add_appender(io: $stdout, formatter: formatter)
11
+ class TinyJsonFormatter
12
+ # Hash with default field names in the output JSON.
13
+ DEFAULT_NAMES_MAPPING = {
14
+ severity: :severity,
15
+ name: :name,
16
+ thread_fingerprint: :thread_fingerprint,
17
+ message: :message,
18
+ tags: :tags,
19
+ named_tags: :named_tags,
20
+ time: :time,
21
+ }.freeze
22
+
23
+ # Returns a new instance of the {UmbrellioUtils::SemanticLogger::TinyJsonFormatter}.
24
+ # @param [Hash] custom_names_mapping mapping from default field names to custom ones.
25
+ # @option custom_names_mapping [Symbol] :severity custom name for the `severity` field.
26
+ # @option custom_names_mapping [Symbol] :name custom name for the `name` field.
27
+ # @option custom_names_mapping [Symbol] :thread_fingerprint
28
+ # custom name for the thread_fingerprint field.
29
+ # @option custom_names_mapping [Symbol] :message custom name for the `message` field.
30
+ # @option custom_names_mapping [Symbol] :tags custom name for the `tags` field.
31
+ # @option custom_names_mapping [Symbol] :named_tags custom name for the `named_tags` field.
32
+ # @option custom_names_mapping [Symbol] :time custom name for the `time` field.
33
+ # @example Use custom name for the `message` and `time` fields
34
+ # UmbrellioUtils::SemanticLogger::TinyJsonFormatter.new(
35
+ # time: :timestamp, message: :note,
36
+ # ) #=> <UmbrellioUtils::SemanticLogger::TinyJsonFormatter:0x000>
37
+ # @return [UmbrellioUtils::SemanticLogger::TinyJsonFormatter]
38
+ # a new instance of the {UmbrellioUtils::SemanticLogger::TinyJsonFormatter}
39
+ def initialize(**custom_names_mapping)
40
+ self.field_names = { **DEFAULT_NAMES_MAPPING, **custom_names_mapping }.freeze
41
+ end
42
+
43
+ # Formats log structure into the JSON string.
44
+ # @param log [SemanticLogger::Log] log's data structure.
45
+ # @param logger [SemanticLogger::Logger] active logger.
46
+ # @return [String] data
47
+ def call(log, _logger)
48
+ data = build_data_for(log)
49
+ data.to_json
50
+ end
51
+
52
+ private
53
+
54
+ # @!attribute field_names
55
+ # @return [Hash<Symbol, Symbol>] the mapping from default field names to the new ones.
56
+ attr_accessor :field_names
57
+
58
+ # Builds hash with data from log.
59
+ # @return [Hash] the hash, which will be converted to the JSON later.
60
+ def build_data_for(log)
61
+ field_names.values_at(*DEFAULT_NAMES_MAPPING.keys).zip(pack_data(log)).to_h
62
+ end
63
+
64
+ # Builds an [Array] with all the required fields, which are arranged
65
+ # in the order of the declaration of keys
66
+ # in the {UmbrellioUtils::SemanticLogger::TinyJsonFormatter::DEFAULT_NAMES_MAPPING}.
67
+ # @return [Array] an array with serialized data.
68
+ def pack_data(log)
69
+ [
70
+ log.level.upcase,
71
+ log.name,
72
+ thread_fingerprint_for(log),
73
+ log.message,
74
+ log.tags,
75
+ log.named_tags,
76
+ log.time.utc.iso8601(3),
77
+ ]
78
+ end
79
+
80
+ # Calculates MD5 fingerprint for the thread, in which the log was made.
81
+ # @return [String] truncated `MD5` hash.
82
+ def thread_fingerprint_for(log)
83
+ Digest::MD5.hexdigest("#{log.thread_name}#{Process.pid}")[0...8]
84
+ end
85
+ end
86
+ end
87
+ end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module UmbrellioUtils
4
- VERSION = "0.3.0"
4
+ VERSION = "0.4.1"
5
5
  end
@@ -5,8 +5,6 @@ require "memery"
5
5
  module UmbrellioUtils
6
6
  GLOBAL_MUTEX = Mutex.new
7
7
 
8
- Dir["#{__dir__}/*/*.rb"].each { |file_path| require_relative(file_path) }
9
-
10
8
  extend self
11
9
 
12
10
  def included(othermod)
@@ -47,3 +45,21 @@ module UmbrellioUtils
47
45
  GLOBAL_MUTEX.owned? ? yield : GLOBAL_MUTEX.synchronize(&block)
48
46
  end
49
47
  end
48
+
49
+ require_relative "umbrellio_utils/cards"
50
+ require_relative "umbrellio_utils/checks"
51
+ require_relative "umbrellio_utils/constants"
52
+ require_relative "umbrellio_utils/control"
53
+ require_relative "umbrellio_utils/database"
54
+ require_relative "umbrellio_utils/formatting"
55
+ require_relative "umbrellio_utils/http_client"
56
+ require_relative "umbrellio_utils/misc"
57
+ require_relative "umbrellio_utils/parsing"
58
+ require_relative "umbrellio_utils/passwords"
59
+ require_relative "umbrellio_utils/random"
60
+ require_relative "umbrellio_utils/request_wrapper"
61
+ require_relative "umbrellio_utils/rounding"
62
+ require_relative "umbrellio_utils/semantic_logger/tiny_json_formatter"
63
+ require_relative "umbrellio_utils/store"
64
+ require_relative "umbrellio_utils/vault"
65
+ require_relative "umbrellio_utils/version"
@@ -29,13 +29,18 @@ Gem::Specification.new do |spec|
29
29
 
30
30
  spec.add_dependency "memery", "~> 1"
31
31
 
32
+ spec.add_development_dependency "activesupport"
32
33
  spec.add_development_dependency "bundler"
33
34
  spec.add_development_dependency "bundler-audit"
34
35
  spec.add_development_dependency "ci-helper"
36
+ spec.add_development_dependency "nokogiri"
37
+ spec.add_development_dependency "nori"
35
38
  spec.add_development_dependency "pry"
36
39
  spec.add_development_dependency "rake"
37
40
  spec.add_development_dependency "rspec"
41
+ spec.add_development_dependency "rspec-json_matcher"
38
42
  spec.add_development_dependency "rubocop-config-umbrellio"
43
+ spec.add_development_dependency "semantic_logger"
39
44
  spec.add_development_dependency "simplecov"
40
45
  spec.add_development_dependency "simplecov-lcov"
41
46
  spec.add_development_dependency "yard"
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: umbrellio-utils
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.0
4
+ version: 0.4.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - JustAnotherDude
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2021-04-16 00:00:00.000000000 Z
11
+ date: 2021-11-03 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: memery
@@ -24,6 +24,20 @@ dependencies:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
26
  version: '1'
27
+ - !ruby/object:Gem::Dependency
28
+ name: activesupport
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
27
41
  - !ruby/object:Gem::Dependency
28
42
  name: bundler
29
43
  requirement: !ruby/object:Gem::Requirement
@@ -66,6 +80,34 @@ dependencies:
66
80
  - - ">="
67
81
  - !ruby/object:Gem::Version
68
82
  version: '0'
83
+ - !ruby/object:Gem::Dependency
84
+ name: nokogiri
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - ">="
88
+ - !ruby/object:Gem::Version
89
+ version: '0'
90
+ type: :development
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - ">="
95
+ - !ruby/object:Gem::Version
96
+ version: '0'
97
+ - !ruby/object:Gem::Dependency
98
+ name: nori
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - ">="
102
+ - !ruby/object:Gem::Version
103
+ version: '0'
104
+ type: :development
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - ">="
109
+ - !ruby/object:Gem::Version
110
+ version: '0'
69
111
  - !ruby/object:Gem::Dependency
70
112
  name: pry
71
113
  requirement: !ruby/object:Gem::Requirement
@@ -108,6 +150,20 @@ dependencies:
108
150
  - - ">="
109
151
  - !ruby/object:Gem::Version
110
152
  version: '0'
153
+ - !ruby/object:Gem::Dependency
154
+ name: rspec-json_matcher
155
+ requirement: !ruby/object:Gem::Requirement
156
+ requirements:
157
+ - - ">="
158
+ - !ruby/object:Gem::Version
159
+ version: '0'
160
+ type: :development
161
+ prerelease: false
162
+ version_requirements: !ruby/object:Gem::Requirement
163
+ requirements:
164
+ - - ">="
165
+ - !ruby/object:Gem::Version
166
+ version: '0'
111
167
  - !ruby/object:Gem::Dependency
112
168
  name: rubocop-config-umbrellio
113
169
  requirement: !ruby/object:Gem::Requirement
@@ -122,6 +178,20 @@ dependencies:
122
178
  - - ">="
123
179
  - !ruby/object:Gem::Version
124
180
  version: '0'
181
+ - !ruby/object:Gem::Dependency
182
+ name: semantic_logger
183
+ requirement: !ruby/object:Gem::Requirement
184
+ requirements:
185
+ - - ">="
186
+ - !ruby/object:Gem::Version
187
+ version: '0'
188
+ type: :development
189
+ prerelease: false
190
+ version_requirements: !ruby/object:Gem::Requirement
191
+ requirements:
192
+ - - ">="
193
+ - !ruby/object:Gem::Version
194
+ version: '0'
125
195
  - !ruby/object:Gem::Dependency
126
196
  name: simplecov
127
197
  requirement: !ruby/object:Gem::Requirement
@@ -198,6 +268,7 @@ files:
198
268
  - lib/umbrellio_utils/random.rb
199
269
  - lib/umbrellio_utils/request_wrapper.rb
200
270
  - lib/umbrellio_utils/rounding.rb
271
+ - lib/umbrellio_utils/semantic_logger/tiny_json_formatter.rb
201
272
  - lib/umbrellio_utils/store.rb
202
273
  - lib/umbrellio_utils/vault.rb
203
274
  - lib/umbrellio_utils/version.rb
@@ -224,7 +295,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
224
295
  - !ruby/object:Gem::Version
225
296
  version: '0'
226
297
  requirements: []
227
- rubygems_version: 3.2.15
298
+ rubygems_version: 3.2.30
228
299
  signing_key:
229
300
  specification_version: 4
230
301
  summary: A set of utilities that speed up development