umbrellio-utils 0.2.0 → 0.4.0

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: f09a52e459529d80c1d72569930d27d97d470c5e0fe54955e0c877e5144f8ca8
4
- data.tar.gz: 9f1bc2c3e3e6508e2f7fcfe5a980fe2a0e38cd889f75ea4e596c2d4b7323f0e5
3
+ metadata.gz: 85dd7dea4f1dee04c26507a0196e6a0520e99ef08db6b880ff5238c09980472a
4
+ data.tar.gz: 1377376c2ca11c16c1df7ac09dd64c4c7851d3a0e068b73b69d8701d31362488
5
5
  SHA512:
6
- metadata.gz: 2d566f694d524defa6e321dd62df3cb762ce1adab4b026397d7592254c1f9b06f7b896e39e5ab4192a2558aee394063bb34f58176666d5f78da9e8291b5cf9de
7
- data.tar.gz: 8767c6c8428665f5b4d2c150fabfd9b9a4118fc122a8e3582fc4e923ab92999ad9101e4a75b24a7d7b293327332ef8078a5a4ecad1f5e3984bc9bf679700eda8
6
+ metadata.gz: 272cc4be8c75bb75a63c0ad649feda6da475aada4ec411a03e74fd404533d68087095781b965e1ac4d1ed2f6f5fa515ec40e9977d3a5da8f094ac05c9d34d259
7
+ data.tar.gz: 1ac80ccf3221cb5c4a5461fa949b6bc7e858d554e1dafe3781041d6146b6807b00e97b86649973900a14812715bed4ecf6735bd8f5d06e21094b02cf1e707444
@@ -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/.gitignore CHANGED
@@ -6,5 +6,3 @@
6
6
  /pkg/
7
7
  /spec/reports/
8
8
  /tmp/
9
-
10
- Gemfile.lock
data/Gemfile.lock ADDED
@@ -0,0 +1,149 @@
1
+ PATH
2
+ remote: .
3
+ specs:
4
+ umbrellio-utils (0.4.0)
5
+ memery (~> 1)
6
+
7
+ GEM
8
+ remote: https://rubygems.org/
9
+ specs:
10
+ activesupport (6.1.4.1)
11
+ concurrent-ruby (~> 1.0, >= 1.0.2)
12
+ i18n (>= 1.6, < 2)
13
+ minitest (>= 5.1)
14
+ tzinfo (~> 2.0)
15
+ zeitwerk (~> 2.3)
16
+ ast (2.4.2)
17
+ awesome_print (1.9.2)
18
+ bundler-audit (0.9.0.1)
19
+ bundler (>= 1.2.0, < 3)
20
+ thor (~> 1.0)
21
+ ci-helper (0.4.2)
22
+ colorize (~> 0.8)
23
+ dry-inflector (~> 0.2)
24
+ umbrellio-sequel-plugins (~> 0.4)
25
+ coderay (1.1.3)
26
+ colorize (0.8.1)
27
+ concurrent-ruby (1.1.9)
28
+ diff-lcs (1.4.4)
29
+ docile (1.4.0)
30
+ dry-inflector (0.2.1)
31
+ i18n (1.8.10)
32
+ concurrent-ruby (~> 1.0)
33
+ json (2.6.1)
34
+ memery (1.4.1)
35
+ ruby2_keywords (~> 0.0.2)
36
+ method_source (1.0.0)
37
+ minitest (5.14.4)
38
+ nokogiri (1.12.5-x86_64-darwin)
39
+ racc (~> 1.4)
40
+ nokogiri (1.12.5-x86_64-linux)
41
+ racc (~> 1.4)
42
+ nori (2.6.0)
43
+ parallel (1.21.0)
44
+ parser (3.0.2.0)
45
+ ast (~> 2.4.1)
46
+ pry (0.14.1)
47
+ coderay (~> 1.1)
48
+ method_source (~> 1.0)
49
+ racc (1.6.0)
50
+ rack (2.2.3)
51
+ rainbow (3.0.0)
52
+ rake (13.0.6)
53
+ regexp_parser (2.1.1)
54
+ rexml (3.2.5)
55
+ rspec (3.10.0)
56
+ rspec-core (~> 3.10.0)
57
+ rspec-expectations (~> 3.10.0)
58
+ rspec-mocks (~> 3.10.0)
59
+ rspec-core (3.10.1)
60
+ rspec-support (~> 3.10.0)
61
+ rspec-expectations (3.10.1)
62
+ diff-lcs (>= 1.2.0, < 2.0)
63
+ rspec-support (~> 3.10.0)
64
+ rspec-json_matcher (0.1.6)
65
+ awesome_print
66
+ json
67
+ rspec-mocks (3.10.2)
68
+ diff-lcs (>= 1.2.0, < 2.0)
69
+ rspec-support (~> 3.10.0)
70
+ rspec-support (3.10.2)
71
+ rubocop (1.17.0)
72
+ parallel (~> 1.10)
73
+ parser (>= 3.0.0.0)
74
+ rainbow (>= 2.2.2, < 4.0)
75
+ regexp_parser (>= 1.8, < 3.0)
76
+ rexml
77
+ rubocop-ast (>= 1.7.0, < 2.0)
78
+ ruby-progressbar (~> 1.7)
79
+ unicode-display_width (>= 1.4.0, < 3.0)
80
+ rubocop-ast (1.12.0)
81
+ parser (>= 3.0.1.1)
82
+ rubocop-config-umbrellio (1.17.0.53)
83
+ rubocop (= 1.17.0)
84
+ rubocop-performance (= 1.10.0)
85
+ rubocop-rails (= 2.9.1)
86
+ rubocop-rake (= 0.5.1)
87
+ rubocop-rspec (= 2.2.0)
88
+ rubocop-sequel (= 0.2.0)
89
+ rubocop-performance (1.10.0)
90
+ rubocop (>= 0.90.0, < 2.0)
91
+ rubocop-ast (>= 0.4.0)
92
+ rubocop-rails (2.9.1)
93
+ activesupport (>= 4.2.0)
94
+ rack (>= 1.1)
95
+ rubocop (>= 0.90.0, < 2.0)
96
+ rubocop-rake (0.5.1)
97
+ rubocop
98
+ rubocop-rspec (2.2.0)
99
+ rubocop (~> 1.0)
100
+ rubocop-ast (>= 1.1.0)
101
+ rubocop-sequel (0.2.0)
102
+ rubocop (~> 1.0)
103
+ ruby-progressbar (1.11.0)
104
+ ruby2_keywords (0.0.5)
105
+ semantic_logger (4.8.2)
106
+ concurrent-ruby (~> 1.0)
107
+ sequel (5.49.0)
108
+ simplecov (0.21.2)
109
+ docile (~> 1.1)
110
+ simplecov-html (~> 0.11)
111
+ simplecov_json_formatter (~> 0.1)
112
+ simplecov-html (0.12.3)
113
+ simplecov-lcov (0.8.0)
114
+ simplecov_json_formatter (0.1.3)
115
+ symbiont-ruby (0.7.0)
116
+ thor (1.1.0)
117
+ tzinfo (2.0.4)
118
+ concurrent-ruby (~> 1.0)
119
+ umbrellio-sequel-plugins (0.5.1.27)
120
+ sequel
121
+ symbiont-ruby
122
+ unicode-display_width (2.1.0)
123
+ yard (0.9.26)
124
+ zeitwerk (2.5.1)
125
+
126
+ PLATFORMS
127
+ x86_64-darwin-20
128
+ x86_64-linux
129
+
130
+ DEPENDENCIES
131
+ activesupport
132
+ bundler
133
+ bundler-audit
134
+ ci-helper
135
+ nokogiri
136
+ nori
137
+ pry
138
+ rake
139
+ rspec
140
+ rspec-json_matcher
141
+ rubocop-config-umbrellio
142
+ semantic_logger
143
+ simplecov
144
+ simplecov-lcov
145
+ umbrellio-utils!
146
+ yard
147
+
148
+ BUNDLED WITH
149
+ 2.2.29
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
 
@@ -61,10 +61,20 @@ module UmbrellioUtils
61
61
  format("%<part>02d", part: part)
62
62
  end
63
63
 
64
- def expand_hash(hash, delemiter: ".", key_converter: :to_sym)
65
- hash.each_with_object(Misc.build_infinite_hash) do |entry, memo|
64
+ #
65
+ # Expands a hash whose keys contain the path.
66
+ #
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
+ # Defaults to :to_sym
71
+ #
72
+ # @return [Hash] expanded hash
73
+ #
74
+ def expand_hash(hash, delimiter: ".", key_converter: :to_sym)
75
+ result = hash.each_with_object(Misc.build_infinite_hash) do |entry, memo|
66
76
  path, value = entry
67
- *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)
68
78
 
69
79
  if path_to_key.empty?
70
80
  memo[key] = value
@@ -73,6 +83,27 @@ module UmbrellioUtils
73
83
  resolved_hash[key] = value
74
84
  end
75
85
  end
86
+
87
+ Misc.reset_defaults_for_hash(result)
88
+ end
89
+
90
+ #
91
+ # Expands a nested hash whose keys contain the path.
92
+ #
93
+ # @param hash [Hash] hash which you want to expand
94
+ # @param **expand_hash_options [Hash] options, that the
95
+ # {#expand_hash} method accepts
96
+ #
97
+ # @return [Hash] expanded hash
98
+ #
99
+ def deeply_expand_hash(hash, **expand_hash_options)
100
+ transformed_hash = hash.transform_values do |value|
101
+ next deeply_expand_hash(value, **expand_hash_options) if value.is_a?(Hash)
102
+
103
+ value
104
+ end
105
+
106
+ expand_hash(transformed_hash, **expand_hash_options)
76
107
  end
77
108
  end
78
109
  end
@@ -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,84 @@
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
+ app_tags: :app_tags,
19
+ time: :time,
20
+ }.freeze
21
+
22
+ # Returns a new instance of the {UmbrellioUtils::SemanticLogger::TinyJsonFormatter}.
23
+ # @param [Hash] custom_names_mapping mapping from default field names to custom ones.
24
+ # @option custom_names_mapping [Symbol] :severity custom name for the `severity` field.
25
+ # @option custom_names_mapping [Symbol] :name custom name for the `name` field.
26
+ # @option custom_names_mapping [Symbol] :thread_fingerprint
27
+ # custom name for the thread_fingerprint field.
28
+ # @option custom_names_mapping [Symbol] :message custom name for the `message` field.
29
+ # @option custom_names_mapping [Symbol] :app_tags custom name for the `app_tags` field.
30
+ # @option custom_names_mapping [Symbol] :time custom name for the `time` field.
31
+ # @example Use custom name for the `message` and `time` fields
32
+ # UmbrellioUtils::SemanticLogger::TinyJsonFormatter.new(
33
+ # time: :timestamp, message: :note,
34
+ # ) #=> <UmbrellioUtils::SemanticLogger::TinyJsonFormatter:0x000>
35
+ # @return [UmbrellioUtils::SemanticLogger::TinyJsonFormatter]
36
+ # a new instance of the {UmbrellioUtils::SemanticLogger::TinyJsonFormatter}
37
+ def initialize(**custom_names_mapping)
38
+ self.field_names = { **DEFAULT_NAMES_MAPPING, **custom_names_mapping }.freeze
39
+ end
40
+
41
+ # Formats log structure into the JSON string.
42
+ # @param log [SemanticLogger::Log] log's data structure.
43
+ # @param logger [SemanticLogger::Logger] active logger.
44
+ # @return [String] data
45
+ def call(log, _logger)
46
+ data = build_data_for(log)
47
+ data.to_json
48
+ end
49
+
50
+ private
51
+
52
+ # @!attribute field_names
53
+ # @return [Hash<Symbol, Symbol>] the mapping from default field names to the new ones.
54
+ attr_accessor :field_names
55
+
56
+ # Builds hash with data from log.
57
+ # @return [Hash] the hash, which will be converted to the JSON later.
58
+ def build_data_for(log)
59
+ field_names.values_at(*DEFAULT_NAMES_MAPPING.keys).zip(pack_data(log)).to_h
60
+ end
61
+
62
+ # Builds an [Array] with all the required fields, which are arranged
63
+ # in the order of the declaration of keys
64
+ # in the {UmbrellioUtils::SemanticLogger::TinyJsonFormatter::DEFAULT_NAMES_MAPPING}.
65
+ # @return [Array] an array with serialized data.
66
+ def pack_data(log)
67
+ [
68
+ log.level.upcase,
69
+ log.name,
70
+ thread_fingerprint_for(log),
71
+ log.message,
72
+ log.named_tags,
73
+ log.time.utc.iso8601(3),
74
+ ]
75
+ end
76
+
77
+ # Calculates MD5 fingerprint for the thread, in which the log was made.
78
+ # @return [String] truncated `MD5` hash.
79
+ def thread_fingerprint_for(log)
80
+ Digest::MD5.hexdigest("#{log.thread_name}#{Process.pid}")[0...8]
81
+ end
82
+ end
83
+ end
84
+ end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module UmbrellioUtils
4
- VERSION = "0.2.0"
4
+ VERSION = "0.4.0"
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"
@@ -16,6 +16,7 @@ Gem::Specification.new do |spec|
16
16
 
17
17
  spec.metadata["homepage_uri"] = spec.homepage
18
18
  spec.metadata["source_code_uri"] = "https://github.com/umbrellio/utils"
19
+ spec.metadata["documentation_uri"] = "https://rubydoc.info/gems/umbrellio-utils"
19
20
 
20
21
  # Specify which files should be added to the gem when it is released.
21
22
  # The `git ls-files -z` loads the files in the RubyGem that have been added into git.
@@ -26,15 +27,21 @@ Gem::Specification.new do |spec|
26
27
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
27
28
  spec.require_paths = ["lib"]
28
29
 
29
- spec.add_dependency "memery"
30
+ spec.add_dependency "memery", "~> 1"
30
31
 
32
+ spec.add_development_dependency "activesupport"
31
33
  spec.add_development_dependency "bundler"
32
34
  spec.add_development_dependency "bundler-audit"
33
35
  spec.add_development_dependency "ci-helper"
36
+ spec.add_development_dependency "nokogiri"
37
+ spec.add_development_dependency "nori"
34
38
  spec.add_development_dependency "pry"
35
39
  spec.add_development_dependency "rake"
36
40
  spec.add_development_dependency "rspec"
41
+ spec.add_development_dependency "rspec-json_matcher"
37
42
  spec.add_development_dependency "rubocop-config-umbrellio"
43
+ spec.add_development_dependency "semantic_logger"
38
44
  spec.add_development_dependency "simplecov"
39
45
  spec.add_development_dependency "simplecov-lcov"
46
+ spec.add_development_dependency "yard"
40
47
  end
metadata CHANGED
@@ -1,23 +1,37 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: umbrellio-utils
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.4.0
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-06 00:00:00.000000000 Z
11
+ date: 2021-10-31 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: memery
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '1'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '1'
27
+ - !ruby/object:Gem::Dependency
28
+ name: activesupport
15
29
  requirement: !ruby/object:Gem::Requirement
16
30
  requirements:
17
31
  - - ">="
18
32
  - !ruby/object:Gem::Version
19
33
  version: '0'
20
- type: :runtime
34
+ type: :development
21
35
  prerelease: false
22
36
  version_requirements: !ruby/object:Gem::Requirement
23
37
  requirements:
@@ -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
@@ -150,6 +220,20 @@ dependencies:
150
220
  - - ">="
151
221
  - !ruby/object:Gem::Version
152
222
  version: '0'
223
+ - !ruby/object:Gem::Dependency
224
+ name: yard
225
+ requirement: !ruby/object:Gem::Requirement
226
+ requirements:
227
+ - - ">="
228
+ - !ruby/object:Gem::Version
229
+ version: '0'
230
+ type: :development
231
+ prerelease: false
232
+ version_requirements: !ruby/object:Gem::Requirement
233
+ requirements:
234
+ - - ">="
235
+ - !ruby/object:Gem::Version
236
+ version: '0'
153
237
  description: UmbrellioUtils is collection of utility classes and helpers
154
238
  email:
155
239
  - VanyaZ158@gmail.com
@@ -163,6 +247,7 @@ files:
163
247
  - ".rspec"
164
248
  - ".rubocop.yml"
165
249
  - Gemfile
250
+ - Gemfile.lock
166
251
  - LICENSE.txt
167
252
  - README.md
168
253
  - Rakefile
@@ -183,6 +268,7 @@ files:
183
268
  - lib/umbrellio_utils/random.rb
184
269
  - lib/umbrellio_utils/request_wrapper.rb
185
270
  - lib/umbrellio_utils/rounding.rb
271
+ - lib/umbrellio_utils/semantic_logger/tiny_json_formatter.rb
186
272
  - lib/umbrellio_utils/store.rb
187
273
  - lib/umbrellio_utils/vault.rb
188
274
  - lib/umbrellio_utils/version.rb
@@ -193,6 +279,7 @@ licenses:
193
279
  metadata:
194
280
  homepage_uri: https://github.com/umbrellio/utils
195
281
  source_code_uri: https://github.com/umbrellio/utils
282
+ documentation_uri: https://rubydoc.info/gems/umbrellio-utils
196
283
  post_install_message:
197
284
  rdoc_options: []
198
285
  require_paths:
@@ -208,7 +295,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
208
295
  - !ruby/object:Gem::Version
209
296
  version: '0'
210
297
  requirements: []
211
- rubygems_version: 3.2.15
298
+ rubygems_version: 3.2.30
212
299
  signing_key:
213
300
  specification_version: 4
214
301
  summary: A set of utilities that speed up development