Skip to content

Commit 567e963

Browse files
authored
Merge pull request #40 from injectablerb/julio/ruby-4.0.3
version 3.0: Drop Ruby 3.2, Upgrade to Ruby 4.0.3, upgrade some deps
2 parents 76ef6ee + 11c31d1 commit 567e963

12 files changed

Lines changed: 74 additions & 62 deletions

File tree

.github/workflows/rspec.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,11 +12,11 @@ jobs:
1212
strategy:
1313
fail-fast: false
1414
matrix:
15-
ruby: ['3.2.9', '3.3.10', '3.4.8', '4.0.0']
15+
ruby: ['3.3.11', '3.4.9', '4.0.3']
1616
steps:
17-
- uses: actions/checkout@v4
17+
- uses: actions/checkout@v6.0.2
1818
- name: Set up Ruby ${{ matrix.ruby }}
19-
uses: ruby/setup-ruby@v1
19+
uses: ruby/setup-ruby@v1.305.0
2020
with:
2121
ruby-version: ${{ matrix.ruby }}
2222
bundler-cache: true # runs 'bundle install' and caches installed gems automatically

.github/workflows/rubocop.yml

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,10 +14,9 @@ jobs:
1414
name: runner / rubocop
1515
runs-on: ubuntu-latest
1616
steps:
17-
- uses: actions/checkout@v4
18-
- uses: ruby/setup-ruby@v1
17+
- uses: actions/checkout@v6.0.2
18+
- uses: ruby/setup-ruby@v1.305.0
1919
with:
20-
ruby-version: 4.0.0
2120
bundler-cache: true
2221
- uses: reviewdog/action-rubocop@v2
2322
with:

.github/workflows/simpelcov.yml

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,11 +12,10 @@ jobs:
1212
code_coverage:
1313
runs-on: ubuntu-latest
1414
steps:
15-
- uses: actions/checkout@v4
15+
- uses: actions/checkout@v6.0.2
1616
- name: Set up Ruby
17-
uses: ruby/setup-ruby@v1
17+
uses: ruby/setup-ruby@v1.305.0
1818
with:
19-
ruby-version: 4.0.0
2019
bundler-cache: true # runs 'bundle install' and caches installed gems automatically
2120
- name: Build and test with Rake
2221
run: COVERAGE=true bundle exec rake

.rubocop.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ AllCops:
99
Enabled: true
1010
NewCops: enable
1111
SuggestExtensions: false
12-
TargetRubyVersion: 3.2
12+
TargetRubyVersion: 3.3
1313

1414
Layout/EmptyLinesAroundAttributeAccessor:
1515
Enabled: true

.ruby-version

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
4.0.0
1+
4.0.3

CHANGELOG.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,12 @@
11
# Unreleased
22

3+
## 3.0.0 - 2026-04-25
4+
5+
* adds Ruby 4.0.3 to support matrix
6+
* drops EOL'ed Ruby 3.2
7+
* upgrades gemspec dependencies
8+
* maintain and appease the authorities (Rubocop)
9+
310
## 2.1.6 - 2026-01-12
411

512
* adds Ruby 4 to the support matrix

Gemfile

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,10 @@ source 'https://rubygems.org'
44
gemspec
55

66
gem 'bundler', '~> 4.0'
7-
gem 'pry-byebug', '~> 3.11'
8-
gem 'rake', '~> 13.3'
7+
gem 'pry-byebug', '~> 3.12'
8+
gem 'rake', '~> 13.4'
99
gem 'rspec', '~> 3.13'
10-
gem 'rubocop', '~> 1.82'
10+
gem 'rubocop', '~> 1.86'
1111
gem 'rubocop-rspec', '~> 3.9'
1212
gem 'simplecov', '~> 0.22'
1313
gem 'simplecov-json', '~> 0.2'

Gemfile.lock

Lines changed: 51 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -1,62 +1,67 @@
11
PATH
22
remote: .
33
specs:
4-
injectable (2.1.6)
4+
injectable (3.0.0)
55

66
GEM
77
remote: https://rubygems.org/
88
specs:
99
ast (2.4.3)
10-
byebug (12.0.0)
10+
byebug (13.0.0)
11+
reline (>= 0.6.0)
1112
coderay (1.1.3)
1213
diff-lcs (1.6.2)
1314
docile (1.4.1)
14-
json (2.13.0)
15+
io-console (0.8.2)
16+
json (2.19.4)
1517
language_server-protocol (3.17.0.5)
1618
lint_roller (1.1.0)
1719
method_source (1.1.0)
18-
parallel (1.27.0)
19-
parser (3.3.8.0)
20+
parallel (2.1.0)
21+
parser (3.3.11.1)
2022
ast (~> 2.4.1)
2123
racc
22-
prism (1.4.0)
23-
pry (0.15.2)
24+
prism (1.9.0)
25+
pry (0.16.0)
2426
coderay (~> 1.1)
2527
method_source (~> 1.0)
26-
pry-byebug (3.11.0)
27-
byebug (~> 12.0)
28-
pry (>= 0.13, < 0.16)
28+
reline (>= 0.6.0)
29+
pry-byebug (3.12.0)
30+
byebug (~> 13.0)
31+
pry (>= 0.13, < 0.17)
2932
racc (1.8.1)
3033
rainbow (3.1.1)
31-
rake (13.3.0)
32-
regexp_parser (2.10.0)
33-
rspec (3.13.1)
34+
rake (13.4.2)
35+
regexp_parser (2.12.0)
36+
reline (0.6.3)
37+
io-console (~> 0.5)
38+
rspec (3.13.2)
3439
rspec-core (~> 3.13.0)
3540
rspec-expectations (~> 3.13.0)
3641
rspec-mocks (~> 3.13.0)
37-
rspec-core (3.13.5)
42+
rspec-core (3.13.6)
3843
rspec-support (~> 3.13.0)
3944
rspec-expectations (3.13.5)
4045
diff-lcs (>= 1.2.0, < 2.0)
4146
rspec-support (~> 3.13.0)
42-
rspec-mocks (3.13.5)
47+
rspec-mocks (3.13.8)
4348
diff-lcs (>= 1.2.0, < 2.0)
4449
rspec-support (~> 3.13.0)
45-
rspec-support (3.13.4)
46-
rubocop (1.82.1)
50+
rspec-support (3.13.7)
51+
rubocop (1.86.1)
4752
json (~> 2.3)
4853
language_server-protocol (~> 3.17.0.2)
4954
lint_roller (~> 1.1.0)
50-
parallel (~> 1.10)
55+
parallel (>= 1.10)
5156
parser (>= 3.3.0.2)
5257
rainbow (>= 2.2.2, < 4.0)
5358
regexp_parser (>= 2.9.3, < 3.0)
54-
rubocop-ast (>= 1.48.0, < 2.0)
59+
rubocop-ast (>= 1.49.0, < 2.0)
5560
ruby-progressbar (~> 1.7)
5661
unicode-display_width (>= 2.4.0, < 4.0)
57-
rubocop-ast (1.48.0)
62+
rubocop-ast (1.49.1)
5863
parser (>= 3.3.7.2)
59-
prism (~> 1.4)
64+
prism (~> 1.7)
6065
rubocop-rspec (3.9.0)
6166
lint_roller (~> 1.1)
6267
rubocop (~> 1.81)
@@ -70,8 +75,8 @@ GEM
7075
json
7176
simplecov
7277
simplecov_json_formatter (0.1.4)
73-
unicode-display_width (3.1.4)
74-
unicode-emoji (~> 4.0, >= 4.0.4)
78+
unicode-display_width (3.2.0)
79+
unicode-emoji (~> 4.1)
7580
unicode-emoji (4.2.0)
7681

7782
PLATFORMS
@@ -80,49 +85,51 @@ PLATFORMS
8085
DEPENDENCIES
8186
bundler (~> 4.0)
8287
injectable!
83-
pry-byebug (~> 3.11)
84-
rake (~> 13.3)
88+
pry-byebug (~> 3.12)
89+
rake (~> 13.4)
8590
rspec (~> 3.13)
86-
rubocop (~> 1.82)
91+
rubocop (~> 1.86)
8792
rubocop-rspec (~> 3.9)
8893
simplecov (~> 0.22)
8994
simplecov-json (~> 0.2)
9095

9196
CHECKSUMS
9297
ast (2.4.3) sha256=954615157c1d6a382bc27d690d973195e79db7f55e9765ac7c481c60bdb4d383
93-
byebug (12.0.0) sha256=d4a150d291cca40b66ec9ca31f754e93fed8aa266a17335f71bb0afa7fca1a1e
98+
byebug (13.0.0) sha256=d2263efe751941ca520fa29744b71972d39cbc41839496706f5d9b22e92ae05d
9499
coderay (1.1.3) sha256=dc530018a4684512f8f38143cd2a096c9f02a1fc2459edcfe534787a7fc77d4b
95100
diff-lcs (1.6.2) sha256=9ae0d2cba7d4df3075fe8cd8602a8604993efc0dfa934cff568969efb1909962
96101
docile (1.4.1) sha256=96159be799bfa73cdb721b840e9802126e4e03dfc26863db73647204c727f21e
97-
injectable (2.1.6)
98-
json (2.13.0) sha256=a4bdf1ce8db5617ec6c59e021db4a398e54b57b335e1fa417ac7badc3fb7c1a0
102+
injectable (3.0.0)
103+
io-console (0.8.2) sha256=d6e3ae7a7cc7574f4b8893b4fca2162e57a825b223a177b7afa236c5ef9814cc
104+
json (2.19.4) sha256=670a7d333fb3b18ca5b29cb255eb7bef099e40d88c02c80bd42a3f30fe5239ac
99105
language_server-protocol (3.17.0.5) sha256=fd1e39a51a28bf3eec959379985a72e296e9f9acfce46f6a79d31ca8760803cc
100106
lint_roller (1.1.0) sha256=2c0c845b632a7d172cb849cc90c1bce937a28c5c8ccccb50dfd46a485003cc87
101107
method_source (1.1.0) sha256=181301c9c45b731b4769bc81e8860e72f9161ad7d66dd99103c9ab84f560f5c5
102-
parallel (1.27.0) sha256=4ac151e1806b755fb4e2dc2332cbf0e54f2e24ba821ff2d3dcf86bf6dc4ae130
103-
parser (3.3.8.0) sha256=2476364142b307fa5a1b1ece44f260728be23858a9c71078e956131a75453c45
104-
prism (1.4.0) sha256=dc0e3e00e93160213dc2a65519d9002a4a1e7b962db57d444cf1a71565bb703e
105-
pry (0.15.2) sha256=12d54b8640d3fa29c9211dd4ffb08f3fd8bf7a4fd9b5a73ce5b59c8709385b6b
106-
pry-byebug (3.11.0) sha256=0b0abb7d309bc7f00044d512a3c8567274f7012b944b38becc8440439a1cea72
108+
parallel (2.1.0) sha256=b35258865c2e31134c5ecb708beaaf6772adf9d5efae28e93e99260877b09356
109+
parser (3.3.11.1) sha256=d17ace7aabe3e72c3cc94043714be27cc6f852f104d81aa284c2281aecc65d54
110+
prism (1.9.0) sha256=7b530c6a9f92c24300014919c9dcbc055bf4cdf51ec30aed099b06cd6674ef85
111+
pry (0.16.0) sha256=d76c69065698ed1f85e717bd33d7942c38a50868f6b0673c636192b3d1b6054e
112+
pry-byebug (3.12.0) sha256=594e094ae8a8390a7ad4c7b36ae36e13304ed02664c67417d108dc5f7213d1b7
107113
racc (1.8.1) sha256=4a7f6929691dbec8b5209a0b373bc2614882b55fc5d2e447a21aaa691303d62f
108114
rainbow (3.1.1) sha256=039491aa3a89f42efa1d6dec2fc4e62ede96eb6acd95e52f1ad581182b79bc6a
109-
rake (13.3.0) sha256=96f5092d786ff412c62fde76f793cc0541bd84d2eb579caa529aa8a059934493
110-
regexp_parser (2.10.0) sha256=cb6f0ddde88772cd64bff1dbbf68df66d376043fe2e66a9ef77fcb1b0c548c61
111-
rspec (3.13.1) sha256=b9f9a58fa915b8d94a1d6b3195fe6dd28c4c34836a6097015142c4a9ace72140
112-
rspec-core (3.13.5) sha256=ab3f682897c6131c67f9a17cfee5022a597f283aebe654d329a565f9937a4fa3
115+
rake (13.4.2) sha256=cb825b2bd5f1f8e91ca37bddb4b9aaf345551b4731da62949be002fa89283701
116+
regexp_parser (2.12.0) sha256=35a916a1d63190ab5c9009457136ae5f3c0c7512d60291d0d1378ba18ce08ebb
117+
reline (0.6.3) sha256=1198b04973565b36ec0f11542ab3f5cfeeec34823f4e54cebde90968092b1835
118+
rspec (3.13.2) sha256=206284a08ad798e61f86d7ca3e376718d52c0bc944626b2349266f239f820587
119+
rspec-core (3.13.6) sha256=a8823c6411667b60a8bca135364351dda34cd55e44ff94c4be4633b37d828b2d
113120
rspec-expectations (3.13.5) sha256=33a4d3a1d95060aea4c94e9f237030a8f9eae5615e9bd85718fe3a09e4b58836
114-
rspec-mocks (3.13.5) sha256=e4338a6f285ada9fe56f5893f5457783af8194f5d08884d17a87321d5195ea81
115-
rspec-support (3.13.4) sha256=184b1814f6a968102b57df631892c7f1990a91c9a3b9e80ef892a0fc2a71a3f7
116-
rubocop (1.82.1) sha256=09f1a6a654a960eda767aebea33e47603080f8e9c9a3f019bf9b94c9cab5e273
117-
rubocop-ast (1.48.0) sha256=22df9bbf3f7a6eccde0fad54e68547ae1e2a704bf8719e7c83813a99c05d2e76
121+
rspec-mocks (3.13.8) sha256=086ad3d3d17533f4237643de0b5c42f04b66348c28bf6b9c2d3f4a3b01af1d47
122+
rspec-support (3.13.7) sha256=0640e5570872aafefd79867901deeeeb40b0c9875a36b983d85f54fb7381c47c
123+
rubocop (1.86.1) sha256=44415f3f01d01a21e01132248d2fd0867572475b566ca188a0a42133a08d4531
124+
rubocop-ast (1.49.1) sha256=4412f3ee70f6fe4546cc489548e0f6fcf76cafcfa80fa03af67098ffed755035
118125
rubocop-rspec (3.9.0) sha256=8fa70a3619408237d789aeecfb9beef40576acc855173e60939d63332fdb55e2
119126
ruby-progressbar (1.13.0) sha256=80fc9c47a9b640d6834e0dc7b3c94c9df37f08cb072b7761e4a71e22cff29b33
120127
simplecov (0.22.0) sha256=fe2622c7834ff23b98066bb0a854284b2729a569ac659f82621fc22ef36213a5
121128
simplecov-html (0.13.2) sha256=bd0b8e54e7c2d7685927e8d6286466359b6f16b18cb0df47b508e8d73c777246
122129
simplecov-json (0.2.3) sha256=c63823b5dfc95c85ff4cb94251765f08a166bdd68098f259368cbfe738e281f7
123130
simplecov_json_formatter (0.1.4) sha256=529418fbe8de1713ac2b2d612aa3daa56d316975d307244399fa4838c601b428
124-
unicode-display_width (3.1.4) sha256=8caf2af1c0f2f07ec89ef9e18c7d88c2790e217c482bfc78aaa65eadd5415ac1
131+
unicode-display_width (3.2.0) sha256=0cdd96b5681a5949cdbc2c55e7b420facae74c4aaf9a9815eee1087cb1853c42
125132
unicode-emoji (4.2.0) sha256=519e69150f75652e40bf736106cfbc8f0f73aa3fb6a65afe62fefa7f80b0f80f
126133

127134
BUNDLED WITH
128-
4.0.3
135+
4.0.10

injectable.gemspec

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,5 +23,5 @@ Gem::Specification.new do |spec|
2323
spec.bindir = 'exe'
2424
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
2525
spec.require_paths = ['lib']
26-
spec.required_ruby_version = '>= 3.2'
26+
spec.required_ruby_version = '>= 3.3'
2727
end

lib/injectable/dependencies_proxy.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ def get(name)
1919
def memoized_dependencies_of(name)
2020
return [] if dependencies_of(name).empty?
2121

22-
dependencies_of(name).each_with_object({}) { |dep, hash| hash[dep] = get(dep) }
22+
dependencies_of(name).to_h { |dep| [dep, get(dep)] }
2323
end
2424

2525
def dependencies_of(name)

0 commit comments

Comments
 (0)