umbrellio-utils 0.2.0 → 0.4.0

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