injectable 2.1.5 → 2.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 +4 -4
- data/.github/workflows/rspec.yml +1 -1
- data/.github/workflows/rubocop.yml +1 -1
- data/.github/workflows/simpelcov.yml +1 -1
- data/.rubocop.yml +1 -1
- data/.rubocop_todo.yml +3 -18
- data/.ruby-version +1 -1
- data/.simplecov +14 -0
- data/CHANGELOG.md +7 -1
- data/Gemfile +9 -0
- data/Gemfile.lock +14 -14
- data/injectable.gemspec +0 -9
- data/lib/injectable/class_methods.rb +15 -11
- data/lib/injectable/instance_methods.rb +1 -1
- data/lib/injectable/version.rb +1 -1
- metadata +4 -115
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: '0769ae55179a7a487afec317c90c9a4055ecdf5c11d0508bb7a945783a1175eb'
|
|
4
|
+
data.tar.gz: 6798e3878d33ba59829a7a6a6c41e828a3f547abbd94682a9f9d45b0f6a15319
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: d1439febb5ae0ab7d5f0e92bdedee2d51be67cf8600daac0e40e57c699d692cc10bae1e6367e8e868d95ec84641db319a1c9d25baf1478c31687f6bc2b81bbe6
|
|
7
|
+
data.tar.gz: 73cb6ebc44813e3cdc5f5bdee92146e52852f4e4ec1f10c6faf20a40ec7802e184b0bc855bf95aa26f40f942356ba42273b72a099af3927f4193cdba9caba060
|
data/.github/workflows/rspec.yml
CHANGED
|
@@ -16,7 +16,7 @@ jobs:
|
|
|
16
16
|
- name: Set up Ruby
|
|
17
17
|
uses: ruby/setup-ruby@v1
|
|
18
18
|
with:
|
|
19
|
-
ruby-version:
|
|
19
|
+
ruby-version: 4.0.0
|
|
20
20
|
bundler-cache: true # runs 'bundle install' and caches installed gems automatically
|
|
21
21
|
- name: Build and test with Rake
|
|
22
22
|
run: COVERAGE=true bundle exec rake
|
data/.rubocop.yml
CHANGED
data/.rubocop_todo.yml
CHANGED
|
@@ -1,26 +1,11 @@
|
|
|
1
1
|
# This configuration was generated by
|
|
2
2
|
# `rubocop --auto-gen-config`
|
|
3
|
-
# on
|
|
3
|
+
# on 2026-01-10 12:23:26 UTC using RuboCop version 1.82.1.
|
|
4
4
|
# The point is for the user to remove these configuration records
|
|
5
5
|
# one by one as the offenses are removed from the code base.
|
|
6
6
|
# Note that changes in the inspected code, or installation of new
|
|
7
7
|
# versions of RuboCop, may require this file to be generated again.
|
|
8
8
|
|
|
9
|
-
# Offense count: 6
|
|
10
|
-
# Configuration parameters: EnforcedStyle, AllowedGems, Include.
|
|
11
|
-
# SupportedStyles: Gemfile, gems.rb, gemspec
|
|
12
|
-
# Include: **/*.gemspec, **/Gemfile, **/gems.rb
|
|
13
|
-
Gemspec/DevelopmentDependencies:
|
|
14
|
-
Exclude:
|
|
15
|
-
- 'injectable.gemspec'
|
|
16
|
-
|
|
17
|
-
# Offense count: 1
|
|
18
|
-
# Configuration parameters: Severity, Include.
|
|
19
|
-
# Include: **/*.gemspec
|
|
20
|
-
Gemspec/RequiredRubyVersion:
|
|
21
|
-
Exclude:
|
|
22
|
-
- 'injectable.gemspec'
|
|
23
|
-
|
|
24
9
|
# Offense count: 4
|
|
25
10
|
# Configuration parameters: AllowedMethods.
|
|
26
11
|
# AllowedMethods: enums
|
|
@@ -104,8 +89,8 @@ RSpec/NamedSubject:
|
|
|
104
89
|
- 'spec/injectable_spec.rb'
|
|
105
90
|
|
|
106
91
|
# Offense count: 3
|
|
107
|
-
# Configuration parameters:
|
|
108
|
-
#
|
|
92
|
+
# Configuration parameters: CustomTransform, IgnoreMethods, IgnoreMetadata, InflectorPath, EnforcedInflector.
|
|
93
|
+
# SupportedInflectors: default, active_support
|
|
109
94
|
RSpec/SpecFilePathFormat:
|
|
110
95
|
Exclude:
|
|
111
96
|
- '**/spec/routing/**/*'
|
data/.ruby-version
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
4.0.0
|
data/.simplecov
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
require 'simplecov-json'
|
|
2
|
+
|
|
3
|
+
SimpleCov.formatters = SimpleCov::Formatter::MultiFormatter.new(
|
|
4
|
+
[
|
|
5
|
+
SimpleCov::Formatter::HTMLFormatter,
|
|
6
|
+
SimpleCov::Formatter::JSONFormatter
|
|
7
|
+
]
|
|
8
|
+
)
|
|
9
|
+
|
|
10
|
+
SimpleCov.start do
|
|
11
|
+
enable_coverage(:branch)
|
|
12
|
+
|
|
13
|
+
load_profile 'test_frameworks'
|
|
14
|
+
end
|
data/CHANGELOG.md
CHANGED
data/Gemfile
CHANGED
|
@@ -2,3 +2,12 @@ source 'https://rubygems.org'
|
|
|
2
2
|
|
|
3
3
|
# Specify your gem's dependencies in injectable.gemspec
|
|
4
4
|
gemspec
|
|
5
|
+
|
|
6
|
+
gem 'bundler', '~> 4.0'
|
|
7
|
+
gem 'pry-byebug', '~> 3.11'
|
|
8
|
+
gem 'rake', '~> 13.3'
|
|
9
|
+
gem 'rspec', '~> 3.13'
|
|
10
|
+
gem 'rubocop', '~> 1.82'
|
|
11
|
+
gem 'rubocop-rspec', '~> 3.9'
|
|
12
|
+
gem 'simplecov', '~> 0.22'
|
|
13
|
+
gem 'simplecov-json', '~> 0.2'
|
data/Gemfile.lock
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
PATH
|
|
2
2
|
remote: .
|
|
3
3
|
specs:
|
|
4
|
-
injectable (2.1.
|
|
4
|
+
injectable (2.1.6)
|
|
5
5
|
|
|
6
6
|
GEM
|
|
7
7
|
remote: https://rubygems.org/
|
|
@@ -43,7 +43,7 @@ GEM
|
|
|
43
43
|
diff-lcs (>= 1.2.0, < 2.0)
|
|
44
44
|
rspec-support (~> 3.13.0)
|
|
45
45
|
rspec-support (3.13.4)
|
|
46
|
-
rubocop (1.
|
|
46
|
+
rubocop (1.82.1)
|
|
47
47
|
json (~> 2.3)
|
|
48
48
|
language_server-protocol (~> 3.17.0.2)
|
|
49
49
|
lint_roller (~> 1.1.0)
|
|
@@ -51,15 +51,15 @@ GEM
|
|
|
51
51
|
parser (>= 3.3.0.2)
|
|
52
52
|
rainbow (>= 2.2.2, < 4.0)
|
|
53
53
|
regexp_parser (>= 2.9.3, < 3.0)
|
|
54
|
-
rubocop-ast (>= 1.
|
|
54
|
+
rubocop-ast (>= 1.48.0, < 2.0)
|
|
55
55
|
ruby-progressbar (~> 1.7)
|
|
56
56
|
unicode-display_width (>= 2.4.0, < 4.0)
|
|
57
57
|
rubocop-ast (1.48.0)
|
|
58
58
|
parser (>= 3.3.7.2)
|
|
59
59
|
prism (~> 1.4)
|
|
60
|
-
rubocop-rspec (3.
|
|
60
|
+
rubocop-rspec (3.9.0)
|
|
61
61
|
lint_roller (~> 1.1)
|
|
62
|
-
rubocop (~> 1.
|
|
62
|
+
rubocop (~> 1.81)
|
|
63
63
|
ruby-progressbar (1.13.0)
|
|
64
64
|
simplecov (0.22.0)
|
|
65
65
|
docile (~> 1.1)
|
|
@@ -72,19 +72,19 @@ GEM
|
|
|
72
72
|
simplecov_json_formatter (0.1.4)
|
|
73
73
|
unicode-display_width (3.1.4)
|
|
74
74
|
unicode-emoji (~> 4.0, >= 4.0.4)
|
|
75
|
-
unicode-emoji (4.0
|
|
75
|
+
unicode-emoji (4.2.0)
|
|
76
76
|
|
|
77
77
|
PLATFORMS
|
|
78
78
|
ruby
|
|
79
79
|
|
|
80
80
|
DEPENDENCIES
|
|
81
|
-
bundler (~>
|
|
81
|
+
bundler (~> 4.0)
|
|
82
82
|
injectable!
|
|
83
83
|
pry-byebug (~> 3.11)
|
|
84
84
|
rake (~> 13.3)
|
|
85
85
|
rspec (~> 3.13)
|
|
86
|
-
rubocop (~> 1.
|
|
87
|
-
rubocop-rspec (~> 3.
|
|
86
|
+
rubocop (~> 1.82)
|
|
87
|
+
rubocop-rspec (~> 3.9)
|
|
88
88
|
simplecov (~> 0.22)
|
|
89
89
|
simplecov-json (~> 0.2)
|
|
90
90
|
|
|
@@ -94,7 +94,7 @@ CHECKSUMS
|
|
|
94
94
|
coderay (1.1.3) sha256=dc530018a4684512f8f38143cd2a096c9f02a1fc2459edcfe534787a7fc77d4b
|
|
95
95
|
diff-lcs (1.6.2) sha256=9ae0d2cba7d4df3075fe8cd8602a8604993efc0dfa934cff568969efb1909962
|
|
96
96
|
docile (1.4.1) sha256=96159be799bfa73cdb721b840e9802126e4e03dfc26863db73647204c727f21e
|
|
97
|
-
injectable (2.1.
|
|
97
|
+
injectable (2.1.6)
|
|
98
98
|
json (2.13.0) sha256=a4bdf1ce8db5617ec6c59e021db4a398e54b57b335e1fa417ac7badc3fb7c1a0
|
|
99
99
|
language_server-protocol (3.17.0.5) sha256=fd1e39a51a28bf3eec959379985a72e296e9f9acfce46f6a79d31ca8760803cc
|
|
100
100
|
lint_roller (1.1.0) sha256=2c0c845b632a7d172cb849cc90c1bce937a28c5c8ccccb50dfd46a485003cc87
|
|
@@ -113,16 +113,16 @@ CHECKSUMS
|
|
|
113
113
|
rspec-expectations (3.13.5) sha256=33a4d3a1d95060aea4c94e9f237030a8f9eae5615e9bd85718fe3a09e4b58836
|
|
114
114
|
rspec-mocks (3.13.5) sha256=e4338a6f285ada9fe56f5893f5457783af8194f5d08884d17a87321d5195ea81
|
|
115
115
|
rspec-support (3.13.4) sha256=184b1814f6a968102b57df631892c7f1990a91c9a3b9e80ef892a0fc2a71a3f7
|
|
116
|
-
rubocop (1.
|
|
116
|
+
rubocop (1.82.1) sha256=09f1a6a654a960eda767aebea33e47603080f8e9c9a3f019bf9b94c9cab5e273
|
|
117
117
|
rubocop-ast (1.48.0) sha256=22df9bbf3f7a6eccde0fad54e68547ae1e2a704bf8719e7c83813a99c05d2e76
|
|
118
|
-
rubocop-rspec (3.
|
|
118
|
+
rubocop-rspec (3.9.0) sha256=8fa70a3619408237d789aeecfb9beef40576acc855173e60939d63332fdb55e2
|
|
119
119
|
ruby-progressbar (1.13.0) sha256=80fc9c47a9b640d6834e0dc7b3c94c9df37f08cb072b7761e4a71e22cff29b33
|
|
120
120
|
simplecov (0.22.0) sha256=fe2622c7834ff23b98066bb0a854284b2729a569ac659f82621fc22ef36213a5
|
|
121
121
|
simplecov-html (0.13.2) sha256=bd0b8e54e7c2d7685927e8d6286466359b6f16b18cb0df47b508e8d73c777246
|
|
122
122
|
simplecov-json (0.2.3) sha256=c63823b5dfc95c85ff4cb94251765f08a166bdd68098f259368cbfe738e281f7
|
|
123
123
|
simplecov_json_formatter (0.1.4) sha256=529418fbe8de1713ac2b2d612aa3daa56d316975d307244399fa4838c601b428
|
|
124
124
|
unicode-display_width (3.1.4) sha256=8caf2af1c0f2f07ec89ef9e18c7d88c2790e217c482bfc78aaa65eadd5415ac1
|
|
125
|
-
unicode-emoji (4.0
|
|
125
|
+
unicode-emoji (4.2.0) sha256=519e69150f75652e40bf736106cfbc8f0f73aa3fb6a65afe62fefa7f80b0f80f
|
|
126
126
|
|
|
127
127
|
BUNDLED WITH
|
|
128
|
-
|
|
128
|
+
4.0.3
|
data/injectable.gemspec
CHANGED
|
@@ -24,13 +24,4 @@ Gem::Specification.new do |spec|
|
|
|
24
24
|
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
|
25
25
|
spec.require_paths = ['lib']
|
|
26
26
|
spec.required_ruby_version = '>= 3.2'
|
|
27
|
-
|
|
28
|
-
spec.add_development_dependency 'bundler', '~> 2.7'
|
|
29
|
-
spec.add_development_dependency 'pry-byebug', '~> 3.11'
|
|
30
|
-
spec.add_development_dependency 'rake', '~> 13.3'
|
|
31
|
-
spec.add_development_dependency 'rspec', '~> 3.13'
|
|
32
|
-
spec.add_development_dependency 'rubocop', '~> 1.81'
|
|
33
|
-
spec.add_development_dependency 'rubocop-rspec', '~> 3.7'
|
|
34
|
-
spec.add_development_dependency 'simplecov', '~> 0.22'
|
|
35
|
-
spec.add_development_dependency 'simplecov-json', '~> 0.2'
|
|
36
27
|
end
|
|
@@ -28,22 +28,26 @@ module Injectable
|
|
|
28
28
|
|
|
29
29
|
ivar = "@#{name}"
|
|
30
30
|
|
|
31
|
+
# Define the instance reader immediately when this attribute is declared
|
|
32
|
+
# so instances always respond to the reader even if the singleton
|
|
33
|
+
# class value has not been set yet.
|
|
34
|
+
if singleton_class?
|
|
35
|
+
class_eval do
|
|
36
|
+
define_method(name) do
|
|
37
|
+
if instance_variable_defined? ivar
|
|
38
|
+
instance_variable_get ivar
|
|
39
|
+
else
|
|
40
|
+
singleton_class.send name
|
|
41
|
+
end
|
|
42
|
+
end
|
|
43
|
+
end
|
|
44
|
+
end
|
|
45
|
+
|
|
31
46
|
define_singleton_method("#{name}=") do |val|
|
|
32
47
|
singleton_class.class_eval do
|
|
33
48
|
define_method(name) { val }
|
|
34
49
|
end
|
|
35
50
|
|
|
36
|
-
if singleton_class?
|
|
37
|
-
class_eval do
|
|
38
|
-
define_method(name) do
|
|
39
|
-
if instance_variable_defined? ivar
|
|
40
|
-
instance_variable_get ivar
|
|
41
|
-
else
|
|
42
|
-
singleton_class.send name
|
|
43
|
-
end
|
|
44
|
-
end
|
|
45
|
-
end
|
|
46
|
-
end
|
|
47
51
|
val
|
|
48
52
|
end
|
|
49
53
|
end
|
|
@@ -22,7 +22,7 @@ module Injectable
|
|
|
22
22
|
|
|
23
23
|
def check_call_definition!
|
|
24
24
|
return if (self.class.ancestors - [Injectable::InstanceMethods]).any? do |ancestor|
|
|
25
|
-
ancestor.
|
|
25
|
+
ancestor.method_defined?(:call, false)
|
|
26
26
|
end
|
|
27
27
|
|
|
28
28
|
raise NoMethodError, "A #call method with zero arity must be defined in #{self.class}"
|
data/lib/injectable/version.rb
CHANGED
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.
|
|
4
|
+
version: 2.1.6
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Papipo
|
|
@@ -12,119 +12,7 @@ authors:
|
|
|
12
12
|
bindir: exe
|
|
13
13
|
cert_chain: []
|
|
14
14
|
date: 1980-01-02 00:00:00.000000000 Z
|
|
15
|
-
dependencies:
|
|
16
|
-
- !ruby/object:Gem::Dependency
|
|
17
|
-
name: bundler
|
|
18
|
-
requirement: !ruby/object:Gem::Requirement
|
|
19
|
-
requirements:
|
|
20
|
-
- - "~>"
|
|
21
|
-
- !ruby/object:Gem::Version
|
|
22
|
-
version: '2.7'
|
|
23
|
-
type: :development
|
|
24
|
-
prerelease: false
|
|
25
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
26
|
-
requirements:
|
|
27
|
-
- - "~>"
|
|
28
|
-
- !ruby/object:Gem::Version
|
|
29
|
-
version: '2.7'
|
|
30
|
-
- !ruby/object:Gem::Dependency
|
|
31
|
-
name: pry-byebug
|
|
32
|
-
requirement: !ruby/object:Gem::Requirement
|
|
33
|
-
requirements:
|
|
34
|
-
- - "~>"
|
|
35
|
-
- !ruby/object:Gem::Version
|
|
36
|
-
version: '3.11'
|
|
37
|
-
type: :development
|
|
38
|
-
prerelease: false
|
|
39
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
40
|
-
requirements:
|
|
41
|
-
- - "~>"
|
|
42
|
-
- !ruby/object:Gem::Version
|
|
43
|
-
version: '3.11'
|
|
44
|
-
- !ruby/object:Gem::Dependency
|
|
45
|
-
name: rake
|
|
46
|
-
requirement: !ruby/object:Gem::Requirement
|
|
47
|
-
requirements:
|
|
48
|
-
- - "~>"
|
|
49
|
-
- !ruby/object:Gem::Version
|
|
50
|
-
version: '13.3'
|
|
51
|
-
type: :development
|
|
52
|
-
prerelease: false
|
|
53
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
54
|
-
requirements:
|
|
55
|
-
- - "~>"
|
|
56
|
-
- !ruby/object:Gem::Version
|
|
57
|
-
version: '13.3'
|
|
58
|
-
- !ruby/object:Gem::Dependency
|
|
59
|
-
name: rspec
|
|
60
|
-
requirement: !ruby/object:Gem::Requirement
|
|
61
|
-
requirements:
|
|
62
|
-
- - "~>"
|
|
63
|
-
- !ruby/object:Gem::Version
|
|
64
|
-
version: '3.13'
|
|
65
|
-
type: :development
|
|
66
|
-
prerelease: false
|
|
67
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
68
|
-
requirements:
|
|
69
|
-
- - "~>"
|
|
70
|
-
- !ruby/object:Gem::Version
|
|
71
|
-
version: '3.13'
|
|
72
|
-
- !ruby/object:Gem::Dependency
|
|
73
|
-
name: rubocop
|
|
74
|
-
requirement: !ruby/object:Gem::Requirement
|
|
75
|
-
requirements:
|
|
76
|
-
- - "~>"
|
|
77
|
-
- !ruby/object:Gem::Version
|
|
78
|
-
version: '1.81'
|
|
79
|
-
type: :development
|
|
80
|
-
prerelease: false
|
|
81
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
82
|
-
requirements:
|
|
83
|
-
- - "~>"
|
|
84
|
-
- !ruby/object:Gem::Version
|
|
85
|
-
version: '1.81'
|
|
86
|
-
- !ruby/object:Gem::Dependency
|
|
87
|
-
name: rubocop-rspec
|
|
88
|
-
requirement: !ruby/object:Gem::Requirement
|
|
89
|
-
requirements:
|
|
90
|
-
- - "~>"
|
|
91
|
-
- !ruby/object:Gem::Version
|
|
92
|
-
version: '3.7'
|
|
93
|
-
type: :development
|
|
94
|
-
prerelease: false
|
|
95
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
96
|
-
requirements:
|
|
97
|
-
- - "~>"
|
|
98
|
-
- !ruby/object:Gem::Version
|
|
99
|
-
version: '3.7'
|
|
100
|
-
- !ruby/object:Gem::Dependency
|
|
101
|
-
name: simplecov
|
|
102
|
-
requirement: !ruby/object:Gem::Requirement
|
|
103
|
-
requirements:
|
|
104
|
-
- - "~>"
|
|
105
|
-
- !ruby/object:Gem::Version
|
|
106
|
-
version: '0.22'
|
|
107
|
-
type: :development
|
|
108
|
-
prerelease: false
|
|
109
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
110
|
-
requirements:
|
|
111
|
-
- - "~>"
|
|
112
|
-
- !ruby/object:Gem::Version
|
|
113
|
-
version: '0.22'
|
|
114
|
-
- !ruby/object:Gem::Dependency
|
|
115
|
-
name: simplecov-json
|
|
116
|
-
requirement: !ruby/object:Gem::Requirement
|
|
117
|
-
requirements:
|
|
118
|
-
- - "~>"
|
|
119
|
-
- !ruby/object:Gem::Version
|
|
120
|
-
version: '0.2'
|
|
121
|
-
type: :development
|
|
122
|
-
prerelease: false
|
|
123
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
124
|
-
requirements:
|
|
125
|
-
- - "~>"
|
|
126
|
-
- !ruby/object:Gem::Version
|
|
127
|
-
version: '0.2'
|
|
15
|
+
dependencies: []
|
|
128
16
|
email:
|
|
129
17
|
- dev@rubiconmd.com
|
|
130
18
|
executables: []
|
|
@@ -139,6 +27,7 @@ files:
|
|
|
139
27
|
- ".rubocop.yml"
|
|
140
28
|
- ".rubocop_todo.yml"
|
|
141
29
|
- ".ruby-version"
|
|
30
|
+
- ".simplecov"
|
|
142
31
|
- CHANGELOG.md
|
|
143
32
|
- CODE_OF_CONDUCT.md
|
|
144
33
|
- Gemfile
|
|
@@ -177,7 +66,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
177
66
|
- !ruby/object:Gem::Version
|
|
178
67
|
version: '0'
|
|
179
68
|
requirements: []
|
|
180
|
-
rubygems_version:
|
|
69
|
+
rubygems_version: 4.0.3
|
|
181
70
|
specification_version: 4
|
|
182
71
|
summary: A library to help you build nice service objects with dependency injection.
|
|
183
72
|
test_files: []
|