more_core_extensions 4.5.0 → 4.6.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.
Files changed (47) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/ci.yaml +25 -12
  3. data/CHANGELOG.md +19 -1
  4. data/Gemfile +19 -8
  5. data/README.md +3 -1
  6. data/lib/more_core_extensions/core_ext/array/compact_map.rb +1 -1
  7. data/lib/more_core_extensions/core_ext/array/deletes.rb +2 -1
  8. data/lib/more_core_extensions/core_ext/array/duplicates.rb +1 -1
  9. data/lib/more_core_extensions/core_ext/array/element_counts.rb +1 -1
  10. data/lib/more_core_extensions/core_ext/array/inclusions.rb +1 -1
  11. data/lib/more_core_extensions/core_ext/array/math.rb +2 -1
  12. data/lib/more_core_extensions/core_ext/array/nested.rb +1 -1
  13. data/lib/more_core_extensions/core_ext/array/random.rb +1 -1
  14. data/lib/more_core_extensions/core_ext/array/sorting.rb +1 -1
  15. data/lib/more_core_extensions/core_ext/array/stretch.rb +2 -2
  16. data/lib/more_core_extensions/core_ext/array/tableize.rb +1 -1
  17. data/lib/more_core_extensions/core_ext/benchmark/realtime_store.rb +1 -1
  18. data/lib/more_core_extensions/core_ext/class/hierarchy.rb +2 -1
  19. data/lib/more_core_extensions/core_ext/digest/uuid.rb +1 -0
  20. data/lib/more_core_extensions/core_ext/hash/deletes.rb +2 -1
  21. data/lib/more_core_extensions/core_ext/hash/nested.rb +1 -1
  22. data/lib/more_core_extensions/core_ext/hash/sorting.rb +2 -2
  23. data/lib/more_core_extensions/core_ext/math/slope.rb +1 -1
  24. data/lib/more_core_extensions/core_ext/module/cache_with_timeout.rb +2 -2
  25. data/lib/more_core_extensions/core_ext/module/namespace.rb +1 -1
  26. data/lib/more_core_extensions/core_ext/numeric/clamp.rb +1 -1
  27. data/lib/more_core_extensions/core_ext/numeric/math.rb +1 -1
  28. data/lib/more_core_extensions/core_ext/numeric/rounding.rb +1 -1
  29. data/lib/more_core_extensions/core_ext/object/deep_send.rb +1 -1
  30. data/lib/more_core_extensions/core_ext/object/namespace.rb +1 -1
  31. data/lib/more_core_extensions/core_ext/object.rb +1 -0
  32. data/lib/more_core_extensions/core_ext/process/pause_resume.rb +1 -1
  33. data/lib/more_core_extensions/core_ext/range/step_value.rb +1 -1
  34. data/lib/more_core_extensions/core_ext/string/constantize_allowlist.rb +28 -0
  35. data/lib/more_core_extensions/core_ext/string/decimal_suffix.rb +1 -1
  36. data/lib/more_core_extensions/core_ext/string/formats.rb +2 -2
  37. data/lib/more_core_extensions/core_ext/string/hex_dump.rb +1 -1
  38. data/lib/more_core_extensions/core_ext/string/iec60027_2.rb +1 -1
  39. data/lib/more_core_extensions/core_ext/string/to_i_with_method.rb +4 -4
  40. data/lib/more_core_extensions/core_ext/string.rb +1 -0
  41. data/lib/more_core_extensions/core_ext/symbol/to_i.rb +1 -1
  42. data/lib/more_core_extensions/version.rb +1 -1
  43. data/more_core_extensions.gemspec +1 -0
  44. data/renovate.json +2 -3
  45. metadata +18 -8
  46. data/.codeclimate.yml +0 -16
  47. data/.rubocop_cc.yml +0 -4
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 04f199c1b780aeb9dd4c5e086942ad1fc4987e37203ef20fe0b583003f1eb456
4
- data.tar.gz: d8b2aedd38f9cf16f922ccc5e842a80096b97adbae6174a3f4886e57d9cd3169
3
+ metadata.gz: db27585d3a2280351c81edd511e431a1fc005edc5615c5a341d5f384e867cfd8
4
+ data.tar.gz: 74c600b678cf5d91a99bb871ea19528ebfdc478d810e194317c342ec1a3c94ce
5
5
  SHA512:
6
- metadata.gz: 651eae2e5b48c2354f1ff78b4846529f3ed6e18b594fa6c396d2353d942d99e2b51ce3b142c9c676dca7efc4c211aa5babd532d5744503e67c0c6f45a9f8ea85
7
- data.tar.gz: 2e959bcb9b4627a7d9f9e107bf67fb134f34525fb3ed1ef15c9114721686da6d9085e52d2bb6de3e8cab267d52060b132e0d61e47f9e78711d84af23a4ee192f
6
+ metadata.gz: ce0c07aa4200c2cec7ce9e3a8972cd2bed8451567b967709a0e189af1debbc91c2b719765e398e479c08ebcb1b4af1de5fe93099005c2b817470abc07c6b6348
7
+ data.tar.gz: 28c842cb5c3cfff78d70c586ea18ca0f1dffb55f815b8d2c6acf5c91d825d6e058f735ec27888b605a3a8eda7c92bbfc37b7b454ab31cbb1b59e316851634218
@@ -1,27 +1,44 @@
1
- ---
2
1
  name: CI
3
2
  on:
4
- push:
5
3
  pull_request:
4
+ push:
5
+ branches-ignore:
6
+ - dependabot/*
7
+ - renovate/*
6
8
  schedule:
7
9
  - cron: 0 0 * * 0
10
+ workflow_dispatch:
11
+ concurrency:
12
+ group: "${{ github.workflow }}-${{ github.ref }}"
13
+ cancel-in-progress: true
14
+ permissions:
15
+ contents: read
8
16
  jobs:
9
17
  ci:
10
18
  runs-on: ubuntu-latest
11
19
  strategy:
20
+ fail-fast: false
12
21
  matrix:
13
22
  ruby-version:
14
- - '2.5'
15
- - '2.6'
16
- - '2.7'
17
- - '3.0'
18
23
  - '3.1'
19
24
  - '3.2'
20
25
  - '3.3'
26
+ - '3.4'
27
+ - '4.0'
28
+ - ruby-head
29
+ rails-version:
30
+ - '7.2'
31
+ - '8.0'
32
+ - '8.1'
33
+ exclude:
34
+ - ruby-version: '3.1'
35
+ rails-version: '8.1'
36
+ - ruby-version: '3.1'
37
+ rails-version: '8.0'
21
38
  env:
22
- CC_TEST_REPORTER_ID: "${{ secrets.CC_TEST_REPORTER_ID }}"
39
+ TEST_RAILS_VERSION: "${{ matrix.rails-version }}"
23
40
  steps:
24
- - uses: actions/checkout@v4
41
+ - uses: actions/checkout@v6
25
42
  - name: Set up Ruby
26
43
  uses: ruby/setup-ruby@v1
27
44
  with:
@@ -30,7 +47,3 @@ jobs:
30
47
  timeout-minutes: 30
31
48
  - name: Run tests
32
49
  run: bundle exec rake
33
- - name: Report code coverage
34
- if: ${{ github.ref == 'refs/heads/master' && matrix.ruby-version == '3.1' }}
35
- continue-on-error: true
36
- uses: paambaati/codeclimate-action@v9
data/CHANGELOG.md CHANGED
@@ -4,6 +4,22 @@ This project adheres to [Semantic Versioning](http://semver.org/).
4
4
 
5
5
  ## [Unreleased]
6
6
 
7
+ ## [4.6.0] - 2026-04-28
8
+ ### Added
9
+ - Add allowlist support to String#constantize and String#safe_constantize [[#155](https://github.com/ManageIQ/more_core_extensions/pull/155)]
10
+ - Add Ruby 3.4+, Rails 7.2+ support [[#134](https://github.com/ManageIQ/more_core_extensions/pull/134)]
11
+
12
+ ### Fixed
13
+ - Fix literal `.` handling in the email regex [[#141](https://github.com/ManageIQ/more_core_extensions/pull/141)]
14
+
15
+ ### Changed
16
+ - Drop Ruby < 3.1 and Rails < 7.2 support [[#134](https://github.com/ManageIQ/more_core_extensions/pull/134)]
17
+ - Add benchmark as a dependency for Rails 8.1+ [[#134](https://github.com/ManageIQ/more_core_extensions/pull/134)]
18
+
19
+ ## [4.5.1] - 2025-01-31
20
+ ### Fixed
21
+ - Fix issues where active_support does not require logger properly [[#127](https://github.com/ManageIQ/more_core_extensions/pull/127)]
22
+
7
23
  ## [4.5.0] - 2024-09-03
8
24
  ### Added
9
25
  - Added Ruby 3.0 and 3.1 support [[#114](https://github.com/ManageIQ/more_core_extensions/pull/114)]
@@ -118,7 +134,9 @@ This project adheres to [Semantic Versioning](http://semver.org/).
118
134
  - Upgraded to RSpec 3 [[#16](https://github.com/ManageIQ/more_core_extensions/pull/16)]
119
135
  - Added the Change Log!
120
136
 
121
- [Unreleased]: https://github.com/ManageIQ/more_core_extensions/compare/v4.5.0...HEAD
137
+ [Unreleased]: https://github.com/ManageIQ/more_core_extensions/compare/v4.6.0...HEAD
138
+ [4.6.0]: https://github.com/ManageIQ/more_core_extensions/compare/v4.5.1...v4.6.0
139
+ [4.5.1]: https://github.com/ManageIQ/more_core_extensions/compare/v4.5.0...v4.5.1
122
140
  [4.5.0]: https://github.com/ManageIQ/more_core_extensions/compare/v4.3.1...v4.5.0
123
141
  [4.4.0]: https://github.com/ManageIQ/more_core_extensions/compare/v4.3.1...v4.4.0
124
142
  [4.3.1]: https://github.com/ManageIQ/more_core_extensions/compare/v4.3.0...v4.3.1
data/Gemfile CHANGED
@@ -6,11 +6,22 @@ require File.join(Bundler::Plugin.index.load_paths("bundler-inject")[0], "bundle
6
6
  # Specify your gem's dependencies in more_core_extensions.gemspec
7
7
  gemspec
8
8
 
9
- # Rails 5 dropped support for Ruby < 2.2.2
10
- # Rails 6 dropped support for Ruby < 2.4.4
11
- if Gem::Version.new(RUBY_VERSION) < Gem::Version.new("2.2.2")
12
- active_support_version = "< 5"
13
- elsif Gem::Version.new(RUBY_VERSION) < Gem::Version.new("2.4.4")
14
- active_support_version = "< 6"
15
- end
16
- gem 'activesupport', active_support_version
9
+ minimum_version =
10
+ case ENV.fetch("TEST_RAILS_VERSION", "8.0")
11
+ when "8.1"
12
+ "~>8.1.2"
13
+ when "8.0"
14
+ "~>8.0.4"
15
+ when "7.2"
16
+ "~>7.2.2"
17
+ when "7.1"
18
+ "~>7.1.5"
19
+ when "7.0"
20
+ "~>7.0.8"
21
+ when "6.1"
22
+ "~>6.1.7"
23
+ else
24
+ raise "Unexpected Rails version #{ENV['TEST_RAILS_VERSION'].inspect}"
25
+ end
26
+
27
+ gem "activesupport", minimum_version
data/README.md CHANGED
@@ -4,7 +4,6 @@ MoreCoreExtensions are a set of core extensions beyond those provided by ActiveS
4
4
 
5
5
  [![Gem Version](https://badge.fury.io/rb/more_core_extensions.svg)](http://badge.fury.io/rb/more_core_extensions)
6
6
  [![CI](https://github.com/ManageIQ/more_core_extensions/actions/workflows/ci.yaml/badge.svg)](https://github.com/ManageIQ/more_core_extensions/actions/workflows/ci.yaml)
7
- [![Code Climate](https://codeclimate.com/github/ManageIQ/more_core_extensions.svg)](https://codeclimate.com/github/ManageIQ/more_core_extensions)
8
7
  [![Coverage Status](http://img.shields.io/coveralls/ManageIQ/more_core_extensions.svg)](https://coveralls.io/r/ManageIQ/more_core_extensions)
9
8
 
10
9
  [![Join the chat at https://gitter.im/ManageIQ/more_core_extensions](https://badges.gitter.im/ManageIQ/more_core_extensions.svg)](https://gitter.im/ManageIQ/more_core_extensions?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
@@ -107,6 +106,9 @@ MoreCoreExtensions are a set of core extensions beyond those provided by ActiveS
107
106
 
108
107
  #### String
109
108
 
109
+ * core_ext/string/constantize_allowlist.rb
110
+ * `#constantize` - Enhanced version with optional `allowlist` parameter to restrict which constants can be resolved
111
+ * `#safe_constantize` - Enhanced version with optional `allowlist` parameter to restrict which constants can be resolved
110
112
  * core_ext/string/decimal_suffix.rb
111
113
  * `#decimal_si_to_big_decimal` - Returns a BigDecimal based on the number and suffix given
112
114
  * `#decimal_si_to_f` - Returns a Float based on the number and suffix given
@@ -16,4 +16,4 @@ module MoreCoreExtensions
16
16
  end
17
17
  end
18
18
 
19
- Array.send(:include, MoreCoreExtensions::ArrayCompactMap)
19
+ Array.include MoreCoreExtensions::ArrayCompactMap
@@ -1,3 +1,4 @@
1
+ require "logger" # Require logger due to active_support breaking on Rails <= 7.0. See https://github.com/rails/rails/pull/54264
1
2
  require 'active_support'
2
3
  require 'active_support/core_ext/object/blank'
3
4
 
@@ -28,4 +29,4 @@ module MoreCoreExtensions
28
29
  end
29
30
  end
30
31
 
31
- Array.send(:include, MoreCoreExtensions::ArrayDeletes)
32
+ Array.include MoreCoreExtensions::ArrayDeletes
@@ -12,4 +12,4 @@ module MoreCoreExtensions
12
12
  end
13
13
  end
14
14
 
15
- Array.send(:include, MoreCoreExtensions::ArrayDuplicates)
15
+ Array.include MoreCoreExtensions::ArrayDuplicates
@@ -15,4 +15,4 @@ module MoreCoreExtensions
15
15
  end
16
16
  end
17
17
 
18
- Array.send(:include, MoreCoreExtensions::ArrayElementCounts)
18
+ Array.include MoreCoreExtensions::ArrayElementCounts
@@ -47,4 +47,4 @@ module MoreCoreExtensions
47
47
  end
48
48
  end
49
49
 
50
- Array.send(:include, MoreCoreExtensions::ArrayInclusions)
50
+ Array.include MoreCoreExtensions::ArrayInclusions
@@ -1,3 +1,4 @@
1
+ require "logger" # Require logger due to active_support breaking on Rails <= 7.0. See https://github.com/rails/rails/pull/54264
1
2
  require 'active_support'
2
3
  require 'active_support/core_ext/enumerable' # For Array#sum
3
4
 
@@ -33,4 +34,4 @@ module MoreCoreExtensions
33
34
  end
34
35
  end
35
36
 
36
- Array.send(:include, MoreCoreExtensions::ArrayMath)
37
+ Array.include MoreCoreExtensions::ArrayMath
@@ -15,4 +15,4 @@ module MoreCoreExtensions
15
15
  end
16
16
  end
17
17
 
18
- Array.send(:include, MoreCoreExtensions::ArrayNested)
18
+ Array.include MoreCoreExtensions::ArrayNested
@@ -22,4 +22,4 @@ module MoreCoreExtensions
22
22
  end
23
23
  end
24
24
 
25
- Array.send(:include, MoreCoreExtensions::ArrayRandom)
25
+ Array.include MoreCoreExtensions::ArrayRandom
@@ -54,4 +54,4 @@ module MoreCoreExtensions
54
54
  end
55
55
  end
56
56
 
57
- Array.send(:include, MoreCoreExtensions::StableSorting)
57
+ Array.include MoreCoreExtensions::StableSorting
@@ -47,5 +47,5 @@ module MoreCoreExtensions
47
47
  end
48
48
  end
49
49
 
50
- Array.send(:extend, MoreCoreExtensions::ArrayStretch::ClassMethods)
51
- Array.send(:include, MoreCoreExtensions::ArrayStretch)
50
+ Array.extend MoreCoreExtensions::ArrayStretch::ClassMethods
51
+ Array.include MoreCoreExtensions::ArrayStretch
@@ -168,4 +168,4 @@ module MoreCoreExtensions
168
168
  end
169
169
  end
170
170
 
171
- Array.send(:include, MoreCoreExtensions::ArrayTableize)
171
+ Array.include MoreCoreExtensions::ArrayTableize
@@ -104,4 +104,4 @@ module MoreCoreExtensions
104
104
  end
105
105
  end
106
106
 
107
- Benchmark.send(:extend, MoreCoreExtensions::BenchmarkRealtimeStore)
107
+ Benchmark.extend MoreCoreExtensions::BenchmarkRealtimeStore
@@ -1,3 +1,4 @@
1
+ require "logger" # Require logger due to active_support breaking on Rails <= 7.0. See https://github.com/rails/rails/pull/54264
1
2
  require 'active_support'
2
3
  require 'active_support/core_ext/class/subclasses'
3
4
  require 'active_support/core_ext/object/try'
@@ -65,4 +66,4 @@ module MoreCoreExtensions
65
66
  end
66
67
  end
67
68
 
68
- Class.send(:include, MoreCoreExtensions::ClassHierarchy)
69
+ Class.include MoreCoreExtensions::ClassHierarchy
@@ -1,3 +1,4 @@
1
+ require "logger" # Require logger due to active_support breaking on Rails <= 7.0. See https://github.com/rails/rails/pull/54264
1
2
  require 'active_support'
2
3
  require 'active_support/core_ext/digest/uuid'
3
4
 
@@ -1,3 +1,4 @@
1
+ require "logger" # Require logger due to active_support breaking on Rails <= 7.0. See https://github.com/rails/rails/pull/54264
1
2
  require 'active_support'
2
3
  require 'active_support/core_ext/object/blank'
3
4
 
@@ -29,4 +30,4 @@ module MoreCoreExtensions
29
30
  end
30
31
  end
31
32
 
32
- Hash.send(:include, MoreCoreExtensions::HashDeletes)
33
+ Hash.include MoreCoreExtensions::HashDeletes
@@ -15,4 +15,4 @@ module MoreCoreExtensions
15
15
  end
16
16
  end
17
17
 
18
- Hash.send(:include, MoreCoreExtensions::HashNested)
18
+ Hash.include MoreCoreExtensions::HashNested
@@ -16,5 +16,5 @@ module MoreCoreExtensions
16
16
  end
17
17
  end
18
18
 
19
- Hash.send(:include, MoreCoreExtensions::HashSortBang) unless Hash.method_defined?(:sort!)
20
- Hash.send(:include, MoreCoreExtensions::HashSortByBang) unless Hash.method_defined?(:sort_by!)
19
+ Hash.include MoreCoreExtensions::HashSortBang unless Hash.method_defined?(:sort!)
20
+ Hash.include MoreCoreExtensions::HashSortByBang unless Hash.method_defined?(:sort_by!)
@@ -51,4 +51,4 @@ module MoreCoreExtensions
51
51
  end
52
52
  end
53
53
 
54
- Math.send(:extend, MoreCoreExtensions::MathSlope::ClassMethods)
54
+ Math.extend MoreCoreExtensions::MathSlope::ClassMethods
@@ -97,5 +97,5 @@ module MoreCoreExtensions
97
97
  end
98
98
  end
99
99
 
100
- Module.send(:include, MoreCoreExtensions::CacheWithTimeout)
101
- Module.send(:extend, MoreCoreExtensions::CacheWithTimeout::ClassMethods)
100
+ Module.include MoreCoreExtensions::CacheWithTimeout
101
+ Module.extend MoreCoreExtensions::CacheWithTimeout::ClassMethods
@@ -10,4 +10,4 @@ module MoreCoreExtensions
10
10
  end
11
11
  end
12
12
 
13
- Module.send(:include, MoreCoreExtensions::ModuleNamespace)
13
+ Module.include MoreCoreExtensions::ModuleNamespace
@@ -15,4 +15,4 @@ module MoreCoreExtensions
15
15
  end
16
16
  end
17
17
 
18
- Numeric.send(:prepend, MoreCoreExtensions::NumericClamp)
18
+ Numeric.prepend MoreCoreExtensions::NumericClamp
@@ -11,4 +11,4 @@ module MoreCoreExtensions
11
11
  end
12
12
  end
13
13
 
14
- Numeric.send(:prepend, MoreCoreExtensions::NumericMath)
14
+ Numeric.prepend MoreCoreExtensions::NumericMath
@@ -14,4 +14,4 @@ module MoreCoreExtensions
14
14
  end
15
15
  end
16
16
 
17
- Numeric.send(:prepend, MoreCoreExtensions::NumericRounding)
17
+ Numeric.prepend MoreCoreExtensions::NumericRounding
@@ -25,4 +25,4 @@ module MoreCoreExtensions
25
25
  end
26
26
  end
27
27
 
28
- Object.send(:include, MoreCoreExtensions::ObjectDeepSend)
28
+ Object.include MoreCoreExtensions::ObjectDeepSend
@@ -16,4 +16,4 @@ module MoreCoreExtensions
16
16
  end
17
17
  end
18
18
 
19
- Object.send(:include, MoreCoreExtensions::ObjectNamespace)
19
+ Object.include MoreCoreExtensions::ObjectNamespace
@@ -1,3 +1,4 @@
1
+ require "logger" # Require logger due to active_support breaking on Rails <= 7.0. See https://github.com/rails/rails/pull/54264
1
2
  require 'active_support'
2
3
  require 'active_support/core_ext/object/blank'
3
4
  require 'more_core_extensions/core_ext/object/deep_send'
@@ -107,4 +107,4 @@ module MoreCoreExtensions
107
107
  end
108
108
  end
109
109
 
110
- Process.send(:extend, MoreCoreExtensions::ProcessPauseResume)
110
+ Process.extend MoreCoreExtensions::ProcessPauseResume
@@ -42,4 +42,4 @@ module MoreCoreExtensions
42
42
  end
43
43
  end
44
44
 
45
- Range.send(:include, MoreCoreExtensions::RangeStepValue)
45
+ Range.include MoreCoreExtensions::RangeStepValue
@@ -0,0 +1,28 @@
1
+ require "active_support/core_ext/string/inflections"
2
+
3
+ module MoreCoreExtensions
4
+ module StringConstantizeAllowlist
5
+ def self.allowed?(target, allowlist)
6
+ allowlist = allowlist.map { |o| o.respond_to?(:name) ? o.name : o }
7
+ allowlist.include?(target)
8
+ end
9
+
10
+ def constantize(allowlist: nil)
11
+ if allowlist && !StringConstantizeAllowlist.allowed?(self, allowlist)
12
+ raise NameError, "#{self} not found in allowlist"
13
+ end
14
+
15
+ super()
16
+ end
17
+
18
+ def safe_constantize(allowlist: nil)
19
+ if allowlist && !StringConstantizeAllowlist.allowed?(self, allowlist)
20
+ return nil
21
+ end
22
+
23
+ super()
24
+ end
25
+ end
26
+ end
27
+
28
+ String.prepend MoreCoreExtensions::StringConstantizeAllowlist
@@ -27,4 +27,4 @@ module MoreCoreExtensions
27
27
  end
28
28
  end
29
29
 
30
- String.send(:prepend, MoreCoreExtensions::DecimalSI)
30
+ String.prepend MoreCoreExtensions::DecimalSI
@@ -1,7 +1,7 @@
1
1
  module MoreCoreExtensions
2
2
  module StringFormats
3
3
  # From: http://www.regular-expressions.info/email.html
4
- RE_EMAIL = %r{\A[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\z}i
4
+ RE_EMAIL = %r{\A[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\z}i
5
5
 
6
6
  def email?
7
7
  !!(self =~ RE_EMAIL)
@@ -47,4 +47,4 @@ module MoreCoreExtensions
47
47
  end
48
48
  end
49
49
 
50
- String.send(:include, MoreCoreExtensions::StringFormats)
50
+ String.include MoreCoreExtensions::StringFormats
@@ -66,4 +66,4 @@ module MoreCoreExtensions
66
66
  end
67
67
  end
68
68
 
69
- String.send(:include, MoreCoreExtensions::StringHexDump)
69
+ String.include MoreCoreExtensions::StringHexDump
@@ -18,4 +18,4 @@ module MoreCoreExtensions
18
18
  end
19
19
  end
20
20
 
21
- String.send(:prepend, MoreCoreExtensions::IEC60027_2)
21
+ String.prepend MoreCoreExtensions::IEC60027_2
@@ -81,7 +81,7 @@ module MoreCoreExtensions
81
81
  end
82
82
  end
83
83
 
84
- String.send(:prepend, MoreCoreExtensions::StringToIWithMethod)
85
- Numeric.send(:prepend, MoreCoreExtensions::NumericAndNilToIWithMethod)
86
- NilClass.send(:prepend, MoreCoreExtensions::NumericAndNilToIWithMethod)
87
- Object.send(:prepend, MoreCoreExtensions::ObjectToIWithMethod)
84
+ String.prepend MoreCoreExtensions::StringToIWithMethod
85
+ Numeric.prepend MoreCoreExtensions::NumericAndNilToIWithMethod
86
+ NilClass.prepend MoreCoreExtensions::NumericAndNilToIWithMethod
87
+ Object.prepend MoreCoreExtensions::ObjectToIWithMethod
@@ -1,3 +1,4 @@
1
+ require 'more_core_extensions/core_ext/string/constantize_allowlist'
1
2
  require 'more_core_extensions/core_ext/string/formats'
2
3
  require 'more_core_extensions/core_ext/string/hex_dump'
3
4
  require 'more_core_extensions/core_ext/string/iec60027_2'
@@ -6,4 +6,4 @@ module MoreCoreExtensions
6
6
  end
7
7
  end
8
8
 
9
- Symbol.send(:include, MoreCoreExtensions::SymbolToI) unless Symbol.method_defined?(:to_i)
9
+ Symbol.include MoreCoreExtensions::SymbolToI unless Symbol.method_defined?(:to_i)
@@ -1,3 +1,3 @@
1
1
  module MoreCoreExtensions
2
- VERSION = "4.5.0".freeze
2
+ VERSION = "4.6.0".freeze
3
3
  end
@@ -23,6 +23,7 @@ Gem::Specification.new do |spec|
23
23
  spec.required_ruby_version = ">= 2.0.0"
24
24
 
25
25
  spec.add_runtime_dependency "activesupport"
26
+ spec.add_runtime_dependency "benchmark"
26
27
  spec.add_runtime_dependency "sync"
27
28
 
28
29
  spec.add_development_dependency "bundler"
data/renovate.json CHANGED
@@ -1,6 +1,5 @@
1
1
  {
2
2
  "$schema": "https://docs.renovatebot.com/renovate-schema.json",
3
- "extends": [
4
- "config:recommended"
5
- ]
3
+ "inheritConfig": true,
4
+ "inheritConfigRepoName": "manageiq/renovate-config"
6
5
  }
metadata CHANGED
@@ -1,15 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: more_core_extensions
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.5.0
4
+ version: 4.6.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jason Frey
8
8
  - Brandon Dunne
9
- autorequire:
10
9
  bindir: exe
11
10
  cert_chain: []
12
- date: 2024-09-03 00:00:00.000000000 Z
11
+ date: 1980-01-02 00:00:00.000000000 Z
13
12
  dependencies:
14
13
  - !ruby/object:Gem::Dependency
15
14
  name: activesupport
@@ -25,6 +24,20 @@ dependencies:
25
24
  - - ">="
26
25
  - !ruby/object:Gem::Version
27
26
  version: '0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: benchmark
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
28
41
  - !ruby/object:Gem::Dependency
29
42
  name: sync
30
43
  requirement: !ruby/object:Gem::Requirement
@@ -132,12 +145,10 @@ executables: []
132
145
  extensions: []
133
146
  extra_rdoc_files: []
134
147
  files:
135
- - ".codeclimate.yml"
136
148
  - ".github/workflows/ci.yaml"
137
149
  - ".gitignore"
138
150
  - ".rspec"
139
151
  - ".rubocop.yml"
140
- - ".rubocop_cc.yml"
141
152
  - ".rubocop_local.yml"
142
153
  - ".whitesource"
143
154
  - CHANGELOG.md
@@ -189,6 +200,7 @@ files:
189
200
  - lib/more_core_extensions/core_ext/range/step_value.rb
190
201
  - lib/more_core_extensions/core_ext/shared/nested.rb
191
202
  - lib/more_core_extensions/core_ext/string.rb
203
+ - lib/more_core_extensions/core_ext/string/constantize_allowlist.rb
192
204
  - lib/more_core_extensions/core_ext/string/decimal_suffix.rb
193
205
  - lib/more_core_extensions/core_ext/string/formats.rb
194
206
  - lib/more_core_extensions/core_ext/string/hex_dump.rb
@@ -203,7 +215,6 @@ homepage: http://github.com/ManageIQ/more_core_extensions
203
215
  licenses:
204
216
  - MIT
205
217
  metadata: {}
206
- post_install_message:
207
218
  rdoc_options: []
208
219
  require_paths:
209
220
  - lib
@@ -218,8 +229,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
218
229
  - !ruby/object:Gem::Version
219
230
  version: '0'
220
231
  requirements: []
221
- rubygems_version: 3.5.17
222
- signing_key:
232
+ rubygems_version: 4.0.7
223
233
  specification_version: 4
224
234
  summary: MoreCoreExtensions are a set of core extensions beyond those provided by
225
235
  ActiveSupport.
data/.codeclimate.yml DELETED
@@ -1,16 +0,0 @@
1
- prepare:
2
- fetch:
3
- - url: https://raw.githubusercontent.com/ManageIQ/manageiq-style/master/.rubocop_base.yml
4
- path: ".rubocop_base.yml"
5
- - url: https://raw.githubusercontent.com/ManageIQ/manageiq-style/master/.rubocop_cc_base.yml
6
- path: ".rubocop_cc_base.yml"
7
- - url: https://raw.githubusercontent.com/ManageIQ/manageiq-style/master/styles/base.yml
8
- path: styles/base.yml
9
- - url: https://raw.githubusercontent.com/ManageIQ/manageiq-style/master/styles/cc_base.yml
10
- path: styles/cc_base.yml
11
- plugins:
12
- rubocop:
13
- enabled: true
14
- config: ".rubocop_cc.yml"
15
- channel: rubocop-1-56-3
16
- version: '2'
data/.rubocop_cc.yml DELETED
@@ -1,4 +0,0 @@
1
- inherit_from:
2
- - ".rubocop_base.yml"
3
- - ".rubocop_cc_base.yml"
4
- - ".rubocop_local.yml"