injectable 2.1.6 → 3.0.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: '0769ae55179a7a487afec317c90c9a4055ecdf5c11d0508bb7a945783a1175eb'
4
- data.tar.gz: 6798e3878d33ba59829a7a6a6c41e828a3f547abbd94682a9f9d45b0f6a15319
3
+ metadata.gz: e3e5aa25b9958c6fec84662a80c146b15f1c61a28a539b36f5c620033a851dbf
4
+ data.tar.gz: acb557a02dcb360468bfc065810256ab7f61332c7b3cc2338d4c31818fac0bb8
5
5
  SHA512:
6
- metadata.gz: d1439febb5ae0ab7d5f0e92bdedee2d51be67cf8600daac0e40e57c699d692cc10bae1e6367e8e868d95ec84641db319a1c9d25baf1478c31687f6bc2b81bbe6
7
- data.tar.gz: 73cb6ebc44813e3cdc5f5bdee92146e52852f4e4ec1f10c6faf20a40ec7802e184b0bc855bf95aa26f40f942356ba42273b72a099af3927f4193cdba9caba060
6
+ metadata.gz: f0e3548423a92e1f2490a59cbb86bb4b0adfc156689172f4fc874d5ae555c8f69efced4c997ed608539a4bca95c668a7ba738baa1c7ea878bfd829fef2eefae1
7
+ data.tar.gz: 474f835133e779f947a9a99a255828d5021c78e7e0f0584f27bf14079ae4039505333ea411cd1989b3592eb7169266cea95e024a0cd816a02d6a907dfab9fe5e
@@ -12,11 +12,11 @@ jobs:
12
12
  strategy:
13
13
  fail-fast: false
14
14
  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']
16
16
  steps:
17
- - uses: actions/checkout@v4
17
+ - uses: actions/checkout@v6.0.2
18
18
  - name: Set up Ruby ${{ matrix.ruby }}
19
- uses: ruby/setup-ruby@v1
19
+ uses: ruby/setup-ruby@v1.305.0
20
20
  with:
21
21
  ruby-version: ${{ matrix.ruby }}
22
22
  bundler-cache: true # runs 'bundle install' and caches installed gems automatically
@@ -14,10 +14,9 @@ jobs:
14
14
  name: runner / rubocop
15
15
  runs-on: ubuntu-latest
16
16
  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
19
19
  with:
20
- ruby-version: 4.0.0
21
20
  bundler-cache: true
22
21
  - uses: reviewdog/action-rubocop@v2
23
22
  with:
@@ -12,11 +12,10 @@ jobs:
12
12
  code_coverage:
13
13
  runs-on: ubuntu-latest
14
14
  steps:
15
- - uses: actions/checkout@v4
15
+ - uses: actions/checkout@v6.0.2
16
16
  - name: Set up Ruby
17
- uses: ruby/setup-ruby@v1
17
+ uses: ruby/setup-ruby@v1.305.0
18
18
  with:
19
- ruby-version: 4.0.0
20
19
  bundler-cache: true # runs 'bundle install' and caches installed gems automatically
21
20
  - name: Build and test with Rake
22
21
  run: COVERAGE=true bundle exec rake
data/.rubocop.yml CHANGED
@@ -9,7 +9,7 @@ AllCops:
9
9
  Enabled: true
10
10
  NewCops: enable
11
11
  SuggestExtensions: false
12
- TargetRubyVersion: 3.2
12
+ TargetRubyVersion: 3.3
13
13
 
14
14
  Layout/EmptyLinesAroundAttributeAccessor:
15
15
  Enabled: true
data/.ruby-version CHANGED
@@ -1 +1 @@
1
- 4.0.0
1
+ 4.0.3
data/CHANGELOG.md CHANGED
@@ -1,5 +1,12 @@
1
1
  # Unreleased
2
2
 
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
+
3
10
  ## 2.1.6 - 2026-01-12
4
11
 
5
12
  * adds Ruby 4 to the support matrix
data/Gemfile CHANGED
@@ -4,10 +4,10 @@ source 'https://rubygems.org'
4
4
  gemspec
5
5
 
6
6
  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'
9
9
  gem 'rspec', '~> 3.13'
10
- gem 'rubocop', '~> 1.82'
10
+ gem 'rubocop', '~> 1.86'
11
11
  gem 'rubocop-rspec', '~> 3.9'
12
12
  gem 'simplecov', '~> 0.22'
13
13
  gem 'simplecov-json', '~> 0.2'
data/Gemfile.lock CHANGED
@@ -1,62 +1,67 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- injectable (2.1.6)
4
+ injectable (3.0.0)
5
5
 
6
6
  GEM
7
7
  remote: https://rubygems.org/
8
8
  specs:
9
9
  ast (2.4.3)
10
- byebug (12.0.0)
10
+ byebug (13.0.0)
11
+ reline (>= 0.6.0)
11
12
  coderay (1.1.3)
12
13
  diff-lcs (1.6.2)
13
14
  docile (1.4.1)
14
- json (2.13.0)
15
+ io-console (0.8.2)
16
+ json (2.19.4)
15
17
  language_server-protocol (3.17.0.5)
16
18
  lint_roller (1.1.0)
17
19
  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)
20
22
  ast (~> 2.4.1)
21
23
  racc
22
- prism (1.4.0)
23
- pry (0.15.2)
24
+ prism (1.9.0)
25
+ pry (0.16.0)
24
26
  coderay (~> 1.1)
25
27
  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)
29
32
  racc (1.8.1)
30
33
  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)
34
39
  rspec-core (~> 3.13.0)
35
40
  rspec-expectations (~> 3.13.0)
36
41
  rspec-mocks (~> 3.13.0)
37
- rspec-core (3.13.5)
42
+ rspec-core (3.13.6)
38
43
  rspec-support (~> 3.13.0)
39
44
  rspec-expectations (3.13.5)
40
45
  diff-lcs (>= 1.2.0, < 2.0)
41
46
  rspec-support (~> 3.13.0)
42
- rspec-mocks (3.13.5)
47
+ rspec-mocks (3.13.8)
43
48
  diff-lcs (>= 1.2.0, < 2.0)
44
49
  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)
47
52
  json (~> 2.3)
48
53
  language_server-protocol (~> 3.17.0.2)
49
54
  lint_roller (~> 1.1.0)
50
- parallel (~> 1.10)
55
+ parallel (>= 1.10)
51
56
  parser (>= 3.3.0.2)
52
57
  rainbow (>= 2.2.2, < 4.0)
53
58
  regexp_parser (>= 2.9.3, < 3.0)
54
- rubocop-ast (>= 1.48.0, < 2.0)
59
+ rubocop-ast (>= 1.49.0, < 2.0)
55
60
  ruby-progressbar (~> 1.7)
56
61
  unicode-display_width (>= 2.4.0, < 4.0)
57
- rubocop-ast (1.48.0)
62
+ rubocop-ast (1.49.1)
58
63
  parser (>= 3.3.7.2)
59
- prism (~> 1.4)
64
+ prism (~> 1.7)
60
65
  rubocop-rspec (3.9.0)
61
66
  lint_roller (~> 1.1)
62
67
  rubocop (~> 1.81)
@@ -70,8 +75,8 @@ GEM
70
75
  json
71
76
  simplecov
72
77
  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)
75
80
  unicode-emoji (4.2.0)
76
81
 
77
82
  PLATFORMS
@@ -80,49 +85,51 @@ PLATFORMS
80
85
  DEPENDENCIES
81
86
  bundler (~> 4.0)
82
87
  injectable!
83
- pry-byebug (~> 3.11)
84
- rake (~> 13.3)
88
+ pry-byebug (~> 3.12)
89
+ rake (~> 13.4)
85
90
  rspec (~> 3.13)
86
- rubocop (~> 1.82)
91
+ rubocop (~> 1.86)
87
92
  rubocop-rspec (~> 3.9)
88
93
  simplecov (~> 0.22)
89
94
  simplecov-json (~> 0.2)
90
95
 
91
96
  CHECKSUMS
92
97
  ast (2.4.3) sha256=954615157c1d6a382bc27d690d973195e79db7f55e9765ac7c481c60bdb4d383
93
- byebug (12.0.0) sha256=d4a150d291cca40b66ec9ca31f754e93fed8aa266a17335f71bb0afa7fca1a1e
98
+ byebug (13.0.0) sha256=d2263efe751941ca520fa29744b71972d39cbc41839496706f5d9b22e92ae05d
94
99
  coderay (1.1.3) sha256=dc530018a4684512f8f38143cd2a096c9f02a1fc2459edcfe534787a7fc77d4b
95
100
  diff-lcs (1.6.2) sha256=9ae0d2cba7d4df3075fe8cd8602a8604993efc0dfa934cff568969efb1909962
96
101
  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
99
105
  language_server-protocol (3.17.0.5) sha256=fd1e39a51a28bf3eec959379985a72e296e9f9acfce46f6a79d31ca8760803cc
100
106
  lint_roller (1.1.0) sha256=2c0c845b632a7d172cb849cc90c1bce937a28c5c8ccccb50dfd46a485003cc87
101
107
  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
107
113
  racc (1.8.1) sha256=4a7f6929691dbec8b5209a0b373bc2614882b55fc5d2e447a21aaa691303d62f
108
114
  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
113
120
  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
118
125
  rubocop-rspec (3.9.0) sha256=8fa70a3619408237d789aeecfb9beef40576acc855173e60939d63332fdb55e2
119
126
  ruby-progressbar (1.13.0) sha256=80fc9c47a9b640d6834e0dc7b3c94c9df37f08cb072b7761e4a71e22cff29b33
120
127
  simplecov (0.22.0) sha256=fe2622c7834ff23b98066bb0a854284b2729a569ac659f82621fc22ef36213a5
121
128
  simplecov-html (0.13.2) sha256=bd0b8e54e7c2d7685927e8d6286466359b6f16b18cb0df47b508e8d73c777246
122
129
  simplecov-json (0.2.3) sha256=c63823b5dfc95c85ff4cb94251765f08a166bdd68098f259368cbfe738e281f7
123
130
  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
125
132
  unicode-emoji (4.2.0) sha256=519e69150f75652e40bf736106cfbc8f0f73aa3fb6a65afe62fefa7f80b0f80f
126
133
 
127
134
  BUNDLED WITH
128
- 4.0.3
135
+ 4.0.10
data/injectable.gemspec CHANGED
@@ -23,5 +23,5 @@ Gem::Specification.new do |spec|
23
23
  spec.bindir = 'exe'
24
24
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
25
25
  spec.require_paths = ['lib']
26
- spec.required_ruby_version = '>= 3.2'
26
+ spec.required_ruby_version = '>= 3.3'
27
27
  end
@@ -19,7 +19,7 @@ module Injectable
19
19
  def memoized_dependencies_of(name)
20
20
  return [] if dependencies_of(name).empty?
21
21
 
22
- dependencies_of(name).each_with_object({}) { |dep, hash| hash[dep] = get(dep) }
22
+ dependencies_of(name).to_h { |dep| [dep, get(dep)] }
23
23
  end
24
24
 
25
25
  def dependencies_of(name)
@@ -16,7 +16,7 @@ module Injectable
16
16
 
17
17
  kwargs = args.pop
18
18
 
19
- if kwargs.is_a?(Hash) && kwargs.keys.all? { |key| key.is_a?(Symbol) }
19
+ if kwargs.is_a?(Hash) && kwargs.keys.all?(Symbol)
20
20
  [args, kwargs]
21
21
  else
22
22
  [args << kwargs, {}]
@@ -1,3 +1,3 @@
1
1
  module Injectable
2
- VERSION = '2.1.6'.freeze
2
+ VERSION = '3.0.0'.freeze
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: injectable
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.1.6
4
+ version: 3.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Papipo
@@ -59,14 +59,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
59
59
  requirements:
60
60
  - - ">="
61
61
  - !ruby/object:Gem::Version
62
- version: '3.2'
62
+ version: '3.3'
63
63
  required_rubygems_version: !ruby/object:Gem::Requirement
64
64
  requirements:
65
65
  - - ">="
66
66
  - !ruby/object:Gem::Version
67
67
  version: '0'
68
68
  requirements: []
69
- rubygems_version: 4.0.3
69
+ rubygems_version: 4.0.10
70
70
  specification_version: 4
71
71
  summary: A library to help you build nice service objects with dependency injection.
72
72
  test_files: []