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 +4 -4
- data/.github/workflows/test.yml +0 -5
- data/Gemfile.lock +43 -26
- data/README.md +1 -1
- data/lib/umbrellio_utils/formatting.rb +10 -8
- data/lib/umbrellio_utils/misc.rb +34 -0
- data/lib/umbrellio_utils/parsing.rb +1 -1
- data/lib/umbrellio_utils/semantic_logger/tiny_json_formatter.rb +87 -0
- data/lib/umbrellio_utils/version.rb +1 -1
- data/lib/umbrellio_utils.rb +18 -2
- data/umbrellio_utils.gemspec +5 -0
- metadata +74 -3
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: cb8113580849f3996fb8afb0859ef04df431f6e816cf9fcc89df3bab0066e751
|
|
4
|
+
data.tar.gz: 70e23152849fcb46aa8a012d04444ab6f164a0f0bca16a7aa46cd856987c208b
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 475aea0da1551e6b5104eb684f3fd815dee4654529f0cdfbf807bad0a21efdf19df9d37a5caad4a2bb024998dd8dcae1b8458cbe241b26e63ab57d33ff0fb030
|
|
7
|
+
data.tar.gz: e035b81cebc72254342d4ff40583afc2f26ed37978aea4a9d01953971ff6bce3ee3c8536c5a76760e99de3f6f0ff8c1f59dafebafb15506e55dc2d120513f77d
|
data/.github/workflows/test.yml
CHANGED
|
@@ -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.
|
|
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.
|
|
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
|
-
|
|
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.
|
|
27
|
+
concurrent-ruby (1.1.9)
|
|
27
28
|
diff-lcs (1.4.4)
|
|
28
|
-
docile (1.
|
|
29
|
-
dry-inflector (0.2.
|
|
29
|
+
docile (1.4.0)
|
|
30
|
+
dry-inflector (0.2.1)
|
|
30
31
|
i18n (1.8.10)
|
|
31
32
|
concurrent-ruby (~> 1.0)
|
|
32
|
-
|
|
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
|
-
|
|
37
|
-
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
70
|
-
parser (>=
|
|
71
|
-
rubocop-config-umbrellio (1.
|
|
72
|
-
rubocop (= 1.
|
|
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.
|
|
94
|
-
|
|
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.
|
|
102
|
-
symbiont-ruby (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.
|
|
117
|
+
umbrellio-sequel-plugins (0.5.1.27)
|
|
107
118
|
sequel
|
|
108
|
-
symbiont-ruby
|
|
109
|
-
unicode-display_width (2.
|
|
119
|
+
symbiont-ruby
|
|
120
|
+
unicode-display_width (2.1.0)
|
|
110
121
|
yard (0.9.26)
|
|
111
|
-
zeitwerk (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.
|
|
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
|
|
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
|
|
68
|
-
# @param [String]
|
|
69
|
-
# @param [Proc, Lambda, Symbol]
|
|
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,
|
|
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(
|
|
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
|
|
92
|
-
# @param [Hash]
|
|
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
|
data/lib/umbrellio_utils/misc.rb
CHANGED
|
@@ -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
|
data/lib/umbrellio_utils.rb
CHANGED
|
@@ -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"
|
data/umbrellio_utils.gemspec
CHANGED
|
@@ -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.
|
|
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-
|
|
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.
|
|
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
|