lite-ruby 1.1.1 → 1.1.6

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: 0f597c253b81c6355a9ae743833feccd90ac05ba6a81d4999f9f38c8e3631bee
4
- data.tar.gz: 648dc86d5bb49d58fa7eeed633bb811724e783e92c385ea3743b268c27be4b6d
3
+ metadata.gz: 0b06f7b36c3754751a9e1c761c18907bb26477c24f8a3158f975cb12eb17402f
4
+ data.tar.gz: 6307adb22344057bbc07fb84c2853c6cb580aad9880a54dd6fccdb76bc21ca9e
5
5
  SHA512:
6
- metadata.gz: 5ae87db67f4e74672342cc4c5309aa733eb8e09816c2da8c03fef690bc4d182c19c3a94b473e6091e04d61835439a753f2e04e6418f255d2bcc325f546fcab17
7
- data.tar.gz: 59de994a412932844e3e0fbca147ac3e008c4b862f3aecb82940afb2ac77da43eead9fa82b7de3091616187ba66b53e19cfb9262d0c671c72562ef35cfe858f2
6
+ metadata.gz: 9eeeea04d66003344b0897c6d0a6435025dd04070e58927282dac1d295a5f2b8c2424e506cc140bcf9bb61cbb0bf843a9fe917f876fbc05075dfb53db2767020
7
+ data.tar.gz: 9c77717bcf0d4f5a2904250483b62f9236ce84a5215bebf4dcbdab45d59937f10831f1e98a900d0822ae3e8d72b26d60d5a4570a2c18b4d0d56f7cb506b706fa
data/.rubocop.yml CHANGED
@@ -1,5 +1,6 @@
1
1
  require:
2
2
  - rubocop-performance
3
+ - rubocop-rake
3
4
  - rubocop-rspec
4
5
  AllCops:
5
6
  TargetRubyVersion: 2.7
data/CHANGELOG.md CHANGED
@@ -6,6 +6,29 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
6
6
 
7
7
  ## [Unreleased]
8
8
 
9
+ ## [1.1.6] - 2021-02-17
10
+ ### Added
11
+ - Added Time => `monotonic`
12
+ ### Changed
13
+ - Time `elapse` to use monotonic time
14
+
15
+ ## [1.1.5] - 2021-02-16
16
+ ### Added
17
+ - Added Array => `divergence`
18
+
19
+ ## [1.1.4] - 2020-11-19
20
+ ### Changed
21
+ - Object `array?` coerce ARGV check from nil to string
22
+
23
+ ## [1.1.3] - 2020-11-18
24
+ ### Changed
25
+ - Object `array?` does not clash with PG gem
26
+
27
+ ## [1.1.2] - 2020-11-08
28
+ ### Changed
29
+ - Array `extract!` does not alias except
30
+ - Update string methods to mutate self
31
+
9
32
  ## [1.1.1] - 2020-11-08
10
33
  ### Changed
11
34
  - Revert String => `transliterize` to `transliterate`
data/Gemfile.lock CHANGED
@@ -1,56 +1,58 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- lite-ruby (1.1.1)
4
+ lite-ruby (1.1.6)
5
5
 
6
6
  GEM
7
7
  remote: https://rubygems.org/
8
8
  specs:
9
- actionpack (6.0.3.4)
10
- actionview (= 6.0.3.4)
11
- activesupport (= 6.0.3.4)
12
- rack (~> 2.0, >= 2.0.8)
9
+ actionpack (6.1.2.1)
10
+ actionview (= 6.1.2.1)
11
+ activesupport (= 6.1.2.1)
12
+ rack (~> 2.0, >= 2.0.9)
13
13
  rack-test (>= 0.6.3)
14
14
  rails-dom-testing (~> 2.0)
15
15
  rails-html-sanitizer (~> 1.0, >= 1.2.0)
16
- actionview (6.0.3.4)
17
- activesupport (= 6.0.3.4)
16
+ actionview (6.1.2.1)
17
+ activesupport (= 6.1.2.1)
18
18
  builder (~> 3.1)
19
19
  erubi (~> 1.4)
20
20
  rails-dom-testing (~> 2.0)
21
21
  rails-html-sanitizer (~> 1.1, >= 1.2.0)
22
- activesupport (6.0.3.4)
22
+ activesupport (6.1.2.1)
23
23
  concurrent-ruby (~> 1.0, >= 1.0.2)
24
- i18n (>= 0.7, < 2)
25
- minitest (~> 5.1)
26
- tzinfo (~> 1.1)
27
- zeitwerk (~> 2.2, >= 2.2.2)
28
- ast (2.4.1)
24
+ i18n (>= 1.6, < 2)
25
+ minitest (>= 5.1)
26
+ tzinfo (~> 2.0)
27
+ zeitwerk (~> 2.3)
28
+ ast (2.4.2)
29
29
  builder (3.2.4)
30
30
  colorize (0.8.1)
31
- concurrent-ruby (1.1.7)
31
+ concurrent-ruby (1.1.8)
32
32
  crass (1.0.6)
33
33
  diff-lcs (1.4.4)
34
- erubi (1.9.0)
35
- fasterer (0.8.3)
34
+ erubi (1.10.0)
35
+ fasterer (0.9.0)
36
36
  colorize (~> 0.7)
37
37
  ruby_parser (>= 3.14.1)
38
38
  generator_spec (0.9.4)
39
39
  activesupport (>= 3.0.0)
40
40
  railties (>= 3.0.0)
41
- i18n (1.8.5)
41
+ i18n (1.8.9)
42
42
  concurrent-ruby (~> 1.0)
43
- loofah (2.7.0)
43
+ loofah (2.9.0)
44
44
  crass (~> 1.0.2)
45
45
  nokogiri (>= 1.5.9)
46
46
  method_source (1.0.0)
47
- mini_portile2 (2.4.0)
48
- minitest (5.14.2)
49
- nokogiri (1.10.10)
50
- mini_portile2 (~> 2.4.0)
51
- parallel (1.20.0)
52
- parser (2.7.2.0)
47
+ mini_portile2 (2.5.0)
48
+ minitest (5.14.3)
49
+ nokogiri (1.11.1)
50
+ mini_portile2 (~> 2.5.0)
51
+ racc (~> 1.4)
52
+ parallel (1.20.1)
53
+ parser (3.0.0.0)
53
54
  ast (~> 2.4.1)
55
+ racc (1.5.2)
54
56
  rack (2.2.3)
55
57
  rack-test (1.1.0)
56
58
  rack (>= 1.0, < 3)
@@ -59,56 +61,57 @@ GEM
59
61
  nokogiri (>= 1.6)
60
62
  rails-html-sanitizer (1.3.0)
61
63
  loofah (~> 2.3)
62
- railties (6.0.3.4)
63
- actionpack (= 6.0.3.4)
64
- activesupport (= 6.0.3.4)
64
+ railties (6.1.2.1)
65
+ actionpack (= 6.1.2.1)
66
+ activesupport (= 6.1.2.1)
65
67
  method_source
66
68
  rake (>= 0.8.7)
67
- thor (>= 0.20.3, < 2.0)
69
+ thor (~> 1.0)
68
70
  rainbow (3.0.0)
69
- rake (13.0.1)
70
- regexp_parser (1.8.2)
71
+ rake (13.0.3)
72
+ regexp_parser (2.0.3)
71
73
  rexml (3.2.4)
72
74
  rspec (3.10.0)
73
75
  rspec-core (~> 3.10.0)
74
76
  rspec-expectations (~> 3.10.0)
75
77
  rspec-mocks (~> 3.10.0)
76
- rspec-core (3.10.0)
78
+ rspec-core (3.10.1)
77
79
  rspec-support (~> 3.10.0)
78
- rspec-expectations (3.10.0)
80
+ rspec-expectations (3.10.1)
79
81
  diff-lcs (>= 1.2.0, < 2.0)
80
82
  rspec-support (~> 3.10.0)
81
- rspec-mocks (3.10.0)
83
+ rspec-mocks (3.10.2)
82
84
  diff-lcs (>= 1.2.0, < 2.0)
83
85
  rspec-support (~> 3.10.0)
84
- rspec-support (3.10.0)
85
- rubocop (1.2.0)
86
+ rspec-support (3.10.2)
87
+ rubocop (1.10.0)
86
88
  parallel (~> 1.10)
87
- parser (>= 2.7.1.5)
89
+ parser (>= 3.0.0.0)
88
90
  rainbow (>= 2.2.2, < 4.0)
89
- regexp_parser (>= 1.8)
91
+ regexp_parser (>= 1.8, < 3.0)
90
92
  rexml
91
- rubocop-ast (>= 1.0.1)
93
+ rubocop-ast (>= 1.2.0, < 2.0)
92
94
  ruby-progressbar (~> 1.7)
93
- unicode-display_width (>= 1.4.0, < 2.0)
94
- rubocop-ast (1.1.1)
95
+ unicode-display_width (>= 1.4.0, < 3.0)
96
+ rubocop-ast (1.4.1)
95
97
  parser (>= 2.7.1.5)
96
- rubocop-performance (1.8.1)
97
- rubocop (>= 0.87.0)
98
+ rubocop-performance (1.9.2)
99
+ rubocop (>= 0.90.0, < 2.0)
98
100
  rubocop-ast (>= 0.4.0)
99
- rubocop-rspec (2.0.0)
101
+ rubocop-rake (0.5.1)
102
+ rubocop
103
+ rubocop-rspec (2.2.0)
100
104
  rubocop (~> 1.0)
101
105
  rubocop-ast (>= 1.1.0)
102
- ruby-progressbar (1.10.1)
103
- ruby_parser (3.15.0)
106
+ ruby-progressbar (1.11.0)
107
+ ruby_parser (3.15.1)
104
108
  sexp_processor (~> 4.9)
105
- sexp_processor (4.15.1)
106
- thor (1.0.1)
107
- thread_safe (0.3.6)
108
- tzinfo (1.2.8)
109
- thread_safe (~> 0.1)
110
- unicode-display_width (1.7.0)
111
- zeitwerk (2.4.1)
109
+ sexp_processor (4.15.2)
110
+ thor (1.1.0)
111
+ tzinfo (2.0.4)
112
+ concurrent-ruby (~> 1.0)
113
+ unicode-display_width (2.0.0)
114
+ zeitwerk (2.4.2)
112
115
 
113
116
  PLATFORMS
114
117
  ruby
@@ -122,7 +125,8 @@ DEPENDENCIES
122
125
  rspec
123
126
  rubocop
124
127
  rubocop-performance
128
+ rubocop-rake
125
129
  rubocop-rspec
126
130
 
127
131
  BUNDLED WITH
128
- 2.1.4
132
+ 2.2.9
data/docs/ARRAY.md CHANGED
@@ -137,6 +137,14 @@ Moves a given value to the tail of array.
137
137
  [1, 2, 2, 3].demote!(4) #=> [1, 2, 2, 3]
138
138
  ```
139
139
 
140
+ `divergence`
141
+ ------
142
+ Returns a list of elements not found in either array.
143
+
144
+ ```ruby
145
+ [1, 2, 2].divergence([2, 3, 4]) #=> [1, 3, 4]
146
+ ```
147
+
140
148
  `denillify(!)`
141
149
  ------
142
150
  Converts `nil` into a given value.
@@ -163,6 +171,16 @@ Removes given values from the array.
163
171
  [1, 2, 3, 4].except(1, 3) #=> [2, 4]
164
172
  ```
165
173
 
174
+ `extract!`
175
+ ------
176
+ Removes and returns the elements for which the block returns a true value. If no block is given, an Enumerator is returned instead.
177
+
178
+ ```ruby
179
+ a1 = [1, 2, 3, 4]
180
+ a1.extract!(&:odd?) #=> [1, 3]
181
+ a1 #=> [2, 4]
182
+ ```
183
+
166
184
  `from`
167
185
  ------
168
186
  Returns the tail of the array from a given position.
data/docs/TIME.md CHANGED
@@ -35,6 +35,14 @@ Converts a `time` object to `strftime` it using a human readable string.
35
35
  Time.now.format('month_name day, year hour:minute ampm') #=> 'January 09, 2014 02:31 pm'
36
36
  ```
37
37
 
38
+ `monotonic`
39
+ ------
40
+ Returns the monotonic time.
41
+
42
+ ```ruby
43
+ Time.monotonic #=> 5834550.444132
44
+ ```
45
+
38
46
  `stamp` aka `to_format`
39
47
  ------
40
48
  Converts a `time` object to a predefined format.
@@ -147,6 +147,10 @@ if Lite::Ruby.configuration.monkey_patches.include?('array')
147
147
  replace(denillify(identity))
148
148
  end
149
149
 
150
+ def divergence(other)
151
+ (self - other) | (other - self)
152
+ end
153
+
150
154
  def duplicates(minimum = 2)
151
155
  hash = Hash.new(0)
152
156
  each { |val| hash[val] += 1 }
@@ -271,7 +275,6 @@ if Lite::Ruby.configuration.monkey_patches.include?('array')
271
275
  self
272
276
  end
273
277
 
274
- alias extract! except!
275
278
  alias indices indexes
276
279
  alias reject_values except
277
280
  alias reject_values! except!
@@ -274,10 +274,12 @@ if Lite::Ruby.configuration.monkey_patches.include?('hash')
274
274
  dup.rename_keys!(*keys)
275
275
  end
276
276
 
277
+ # rubocop:disable Style/HashConversion
277
278
  def rename_keys!(*keys)
278
279
  keys = Hash[*keys]
279
280
  keys.each_with_object(self) { |(key, val), hash| hash[val] = delete(key) if hash[key] }
280
281
  end
282
+ # rubocop:enable Style/HashConversion
281
283
 
282
284
  def sample
283
285
  key = sample_key
@@ -312,7 +314,7 @@ if Lite::Ruby.configuration.monkey_patches.include?('hash')
312
314
  end
313
315
 
314
316
  def shuffle
315
- Hash[to_a.sample(size)]
317
+ to_a.sample(size).to_h
316
318
  end
317
319
 
318
320
  def shuffle!
@@ -341,11 +343,11 @@ if Lite::Ruby.configuration.monkey_patches.include?('hash')
341
343
  each_with_object({}) do |(key, val), hash|
342
344
  new_key = begin
343
345
  str = key.dup.to_s
344
- str = str.gsub!(/::/, '/') || str
345
- str = str.gsub!(/([A-Z\d]+)([A-Z][a-z])/, '\1_\2') || str
346
- str = str.gsub!(/([a-z\d])([A-Z])/, '\1_\2') || str
347
- str = str.tr!(' -', '_') || str
348
- str = str.downcase!
346
+ str.gsub!(/::/, '/') || str
347
+ str.gsub!(/([A-Z\d]+)([A-Z][a-z])/, '\1_\2') || str
348
+ str.gsub!(/([a-z\d])([A-Z])/, '\1_\2') || str
349
+ str.tr!(' -', '_') || str
350
+ str.downcase!
349
351
  str.to_sym
350
352
  rescue StandardError
351
353
  key
@@ -5,7 +5,7 @@ if Lite::Ruby.configuration.monkey_patches.include?('date')
5
5
  module Ruby
6
6
  module DateHelper
7
7
 
8
- DATE_STAMPS ||= {
8
+ DATE_STAMPS = {
9
9
  weekday: '%d',
10
10
  weekday_blank: '%_d',
11
11
  weekday_padded: '%d',
@@ -41,7 +41,7 @@ if Lite::Ruby.configuration.monkey_patches.include?('date')
41
41
  date_abbr: '%b %-d, %Y',
42
42
  date_iso: '%Y-%m-%d'
43
43
  }.freeze
44
- DATE_UNITS ||= {
44
+ DATE_UNITS = {
45
45
  w: 'u',
46
46
  weekday: 'u',
47
47
  ww: 'w',
@@ -5,7 +5,7 @@ if Lite::Ruby.configuration.monkey_patches.include?('time')
5
5
  module Ruby
6
6
  module TimeHelper
7
7
 
8
- TIME_STAMPS ||= {
8
+ TIME_STAMPS = {
9
9
  hour: '%H',
10
10
  hour_blank: '%k',
11
11
  hour_padded: '%H',
@@ -3,7 +3,7 @@
3
3
  if Lite::Ruby.configuration.monkey_patches.include?('integer')
4
4
  class Integer
5
5
 
6
- ROMAN_NUMERALS ||= {
6
+ ROMAN_NUMERALS = {
7
7
  M: 1000, CM: 900, D: 500, CD: 400, C: 100, XC: 90, L: 50, XL: 40, X: 10, IX: 9, V: 5, IV: 4,
8
8
  I: 1
9
9
  }.freeze
@@ -5,15 +5,20 @@ if Lite::Ruby.configuration.monkey_patches.include?('object')
5
5
 
6
6
  class Object
7
7
 
8
- FALSE_VALUES ||= %w[
8
+ FALSE_VALUES = %w[
9
9
  0 f false n no off
10
10
  ].freeze
11
- TRUE_VALUES ||= %w[
11
+ TRUE_VALUES = %w[
12
12
  1 t true y yes on
13
13
  ].freeze
14
14
 
15
- def array?
16
- is_a?(Array)
15
+ # NOTE: There is a class between the PG gem and the `array?` method.
16
+ # We only need to skip this on migrations since that action
17
+ # happens on a seperate runtime.
18
+ unless defined?(PG) && ARGV.first.to_s.start_with?('db:')
19
+ def array?
20
+ is_a?(Array)
21
+ end
17
22
  end
18
23
 
19
24
  def bool?
@@ -6,6 +6,14 @@ class Array
6
6
  map(&:deep_dup)
7
7
  end
8
8
 
9
+ def extract!
10
+ return to_enum(:extract!) { size } unless block_given?
11
+
12
+ extracted_elements = []
13
+ reject! { |element| extracted_elements << element if yield(element) }
14
+ extracted_elements
15
+ end
16
+
9
17
  def from(position)
10
18
  self[position, size] || []
11
19
  end
@@ -16,8 +16,9 @@ class String
16
16
 
17
17
  def classify
18
18
  str = dup
19
- str = str.sub!(/.*\./, '')
19
+ str.sub!(/.*\./, '')
20
20
  str.camelize!
21
+ str || self
21
22
  end
22
23
 
23
24
  def constantize
@@ -52,12 +53,12 @@ class String
52
53
 
53
54
  def humanize(capitalize: true)
54
55
  str = dup
55
- str = str.underscore!
56
- str = str.delete_suffix!('_id')
57
- str = str.tr!('_', ' ')
58
- str = str.squish!
59
- str = str.gsub!(/([a-z\d]*)/i, &:downcase)
60
- str = str.gsub!(/\A\w/) { |s| capitalize ? s.upcase : s }
56
+ str.underscore!
57
+ str.delete_suffix!('_id')
58
+ str.tr!('_', ' ')
59
+ str.squish!
60
+ str.gsub!(/([a-z\d]*)/i, &:downcase)
61
+ str.gsub!(/\A\w/) { |s| capitalize ? s.upcase : s }
61
62
  str || self
62
63
  end
63
64
 
@@ -85,9 +86,9 @@ class String
85
86
 
86
87
  def parameterize(separator: '-')
87
88
  str = dup
88
- str = str.underscore!
89
- str = str.gsub!(/\s+/, separator)
90
- str = str.downcase!
89
+ str.underscore!
90
+ str.gsub!(/\s+/, separator)
91
+ str.downcase!
91
92
  str || self
92
93
  end
93
94
 
@@ -112,9 +113,9 @@ class String
112
113
 
113
114
  def titleize
114
115
  str = dup
115
- str = str.underscore!
116
- str = str.humanize!
117
- str = str.gsub!(/\b(?<!['’`])[a-z]/) { $&.capitalize }
116
+ str.underscore!
117
+ str.humanize!
118
+ str.gsub!(/\b(?<!['’`])[a-z]/) { $&.capitalize }
118
119
  str || self
119
120
  end
120
121
 
@@ -164,12 +165,12 @@ class String
164
165
 
165
166
  def underscore
166
167
  str = dup
167
- str = str.camelize!
168
- str = str.gsub!(/::/, '/')
169
- str = str.gsub!(/([A-Z\d]+)([A-Z][a-z])/, '\1_\2')
170
- str = str.gsub!(/([a-z\d])([A-Z])/, '\1_\2')
171
- str = str.tr!('-', '_')
172
- str = str.downcase!
168
+ str.camelize!
169
+ str.gsub!(/::/, '/')
170
+ str.gsub!(/([A-Z\d]+)([A-Z][a-z])/, '\1_\2')
171
+ str.gsub!(/([a-z\d])([A-Z])/, '\1_\2')
172
+ str.tr!('-', '_')
173
+ str.downcase!
173
174
  str || self
174
175
  end
175
176
 
@@ -5,7 +5,7 @@ if Lite::Ruby.configuration.monkey_patches.include?('string')
5
5
 
6
6
  class String
7
7
 
8
- TRANSLITERATIONS ||= {
8
+ TRANSLITERATIONS = {
9
9
  'À' => 'A', 'Á' => 'A', 'Â' => 'A', 'Ã' => 'A', 'Ä' => 'A', 'Å' => 'A', 'Æ' => 'Ae',
10
10
  'Ç' => 'C', 'È' => 'E', 'É' => 'E', 'Ê' => 'E', 'Ë' => 'E', 'Ì' => 'I', 'Í' => 'I',
11
11
  'Î' => 'I', 'Ï' => 'I', 'Ð' => 'D', 'Ñ' => 'N', 'Ò' => 'O', 'Ó' => 'O', 'Ô' => 'O',
@@ -9,15 +9,19 @@ if Lite::Ruby.configuration.monkey_patches.include?('time')
9
9
  class << self
10
10
 
11
11
  def elapse(verbose: false)
12
- started_at = now.to_f
12
+ started_at = monotonic
13
13
  yield
14
- ended_at = now.to_f
14
+ ended_at = monotonic
15
15
  runtime = ended_at - started_at
16
16
  return runtime unless verbose
17
17
 
18
18
  { started_at: started_at, ended_at: ended_at, runtime: runtime }
19
19
  end
20
20
 
21
+ def monotonic
22
+ Process.clock_gettime(Process::CLOCK_MONOTONIC)
23
+ end
24
+
21
25
  end
22
26
 
23
27
  private
@@ -3,7 +3,7 @@
3
3
  module Lite
4
4
  module Ruby
5
5
 
6
- VERSION ||= '1.1.1'
6
+ VERSION = '1.1.6'
7
7
 
8
8
  end
9
9
  end
data/lite-ruby.gemspec CHANGED
@@ -44,5 +44,6 @@ Gem::Specification.new do |spec|
44
44
  spec.add_development_dependency 'rspec'
45
45
  spec.add_development_dependency 'rubocop'
46
46
  spec.add_development_dependency 'rubocop-performance'
47
+ spec.add_development_dependency 'rubocop-rake'
47
48
  spec.add_development_dependency 'rubocop-rspec'
48
49
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: lite-ruby
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.1
4
+ version: 1.1.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Juan Gomez
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2020-11-08 00:00:00.000000000 Z
11
+ date: 2021-02-17 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -108,6 +108,20 @@ dependencies:
108
108
  - - ">="
109
109
  - !ruby/object:Gem::Version
110
110
  version: '0'
111
+ - !ruby/object:Gem::Dependency
112
+ name: rubocop-rake
113
+ requirement: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - ">="
116
+ - !ruby/object:Gem::Version
117
+ version: '0'
118
+ type: :development
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - ">="
123
+ - !ruby/object:Gem::Version
124
+ version: '0'
111
125
  - !ruby/object:Gem::Dependency
112
126
  name: rubocop-rspec
113
127
  requirement: !ruby/object:Gem::Requirement
@@ -208,7 +222,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
208
222
  - !ruby/object:Gem::Version
209
223
  version: '0'
210
224
  requirements: []
211
- rubygems_version: 3.1.4
225
+ rubygems_version: 3.2.9
212
226
  signing_key:
213
227
  specification_version: 4
214
228
  summary: Collection of useful Ruby methods for its primitive classes