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 +4 -4
- data/.github/workflows/test.yml +0 -5
- data/.gitignore +0 -2
- data/Gemfile.lock +149 -0
- data/README.md +1 -1
- data/lib/umbrellio_utils/formatting.rb +34 -3
- 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 +84 -0
- data/lib/umbrellio_utils/version.rb +1 -1
- data/lib/umbrellio_utils.rb +18 -2
- data/umbrellio_utils.gemspec +8 -1
- metadata +91 -4
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 85dd7dea4f1dee04c26507a0196e6a0520e99ef08db6b880ff5238c09980472a
|
|
4
|
+
data.tar.gz: 1377376c2ca11c16c1df7ac09dd64c4c7851d3a0e068b73b69d8701d31362488
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 272cc4be8c75bb75a63c0ad649feda6da475aada4ec411a03e74fd404533d68087095781b965e1ac4d1ed2f6f5fa515ec40e9977d3a5da8f094ac05c9d34d259
|
|
7
|
+
data.tar.gz: 1ac80ccf3221cb5c4a5461fa949b6bc7e858d554e1dafe3781041d6146b6807b00e97b86649973900a14812715bed4ecf6735bd8f5d06e21094b02cf1e707444
|
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/.gitignore
CHANGED
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
|
|
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
|
-
|
|
65
|
-
|
|
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(
|
|
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
|
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,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
|
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
|
@@ -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.
|
|
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-
|
|
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: :
|
|
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.
|
|
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
|