smart_injection 0.1.0 → 0.3.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 +4 -4
- data/.rubocop.yml +2 -1
- data/CHANGELOG.md +14 -0
- data/Gemfile.lock +64 -60
- data/README.md +60 -3
- data/bin/console +3 -3
- data/lib/smart_core/injection/locator/dependency.rb +28 -6
- data/lib/smart_core/injection/locator/factory.rb +8 -3
- data/lib/smart_core/injection/locator.rb +14 -2
- data/lib/smart_core/injection/version.rb +2 -1
- data/smart_injection.gemspec +11 -7
- metadata +21 -26
- data/.travis.yml +0 -23
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: d2f3e7313fff33403ea88f194361cce0c1663621df28a4f4155d976206df2c93
|
|
4
|
+
data.tar.gz: 530212534a8f8b83b111bd81d78f262e05e6d20c4284088128420ef572ac5832
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 2823f1a312b377c04eba486c553f379a53dfb5327571e52493aa55e8a9311ee6b6aaf35414c0459fe3483d2a33722205ddd6c3eb89c697c60e458ddf0e373032
|
|
7
|
+
data.tar.gz: 1706bdfd3038fdf5856a87b944be5dc2b972112997d26688ba95a4fe895706eb10b1c428d67620b2f7c29cb9f764bd2ef1b8e9452f98419926475cefa2c941c0
|
data/.rubocop.yml
CHANGED
data/CHANGELOG.md
CHANGED
|
@@ -1,6 +1,20 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
All notable changes to this project will be documented in this file.
|
|
3
3
|
|
|
4
|
+
# [0.3.0] - 2023-01-13
|
|
5
|
+
## Changed
|
|
6
|
+
- Temporary disabled hard depenedncy binding of dependency locator.
|
|
7
|
+
The nature of dependency binding inside the injectable class will be reviewed and reworked
|
|
8
|
+
in dependncy injection terms and theory (need to be reviewed current "bind" behavior).
|
|
9
|
+
Memoization now working in runtime mode with container and dependcy locator in combination.
|
|
10
|
+
|
|
11
|
+
# [0.2.0] - 2021-01-18
|
|
12
|
+
## Added
|
|
13
|
+
- Support for **Ruby@3**;
|
|
14
|
+
|
|
15
|
+
## Changed
|
|
16
|
+
- No more `TravisCI` (todo: migrate to `GitHub Actions`);
|
|
17
|
+
|
|
4
18
|
# [0.1.0] - 2020-07-09
|
|
5
19
|
|
|
6
20
|
- Release :)
|
data/Gemfile.lock
CHANGED
|
@@ -1,104 +1,108 @@
|
|
|
1
1
|
PATH
|
|
2
2
|
remote: .
|
|
3
3
|
specs:
|
|
4
|
-
smart_injection (0.
|
|
5
|
-
smart_container (~> 0.
|
|
6
|
-
smart_engine (~> 0.
|
|
4
|
+
smart_injection (0.3.0)
|
|
5
|
+
smart_container (~> 0.9)
|
|
6
|
+
smart_engine (~> 0.11)
|
|
7
7
|
|
|
8
8
|
GEM
|
|
9
9
|
remote: https://rubygems.org/
|
|
10
10
|
specs:
|
|
11
|
-
activesupport (6.
|
|
11
|
+
activesupport (6.1.1)
|
|
12
12
|
concurrent-ruby (~> 1.0, >= 1.0.2)
|
|
13
|
-
i18n (>=
|
|
14
|
-
minitest (
|
|
15
|
-
tzinfo (~>
|
|
16
|
-
zeitwerk (~> 2.
|
|
17
|
-
armitage-rubocop (0.
|
|
18
|
-
rubocop (=
|
|
19
|
-
rubocop-performance (= 1.
|
|
20
|
-
rubocop-rails (= 2.
|
|
13
|
+
i18n (>= 1.6, < 2)
|
|
14
|
+
minitest (>= 5.1)
|
|
15
|
+
tzinfo (~> 2.0)
|
|
16
|
+
zeitwerk (~> 2.3)
|
|
17
|
+
armitage-rubocop (1.7.0.1)
|
|
18
|
+
rubocop (= 1.7.0)
|
|
19
|
+
rubocop-performance (= 1.9.1)
|
|
20
|
+
rubocop-rails (= 2.9.1)
|
|
21
21
|
rubocop-rake (= 0.5.1)
|
|
22
|
-
rubocop-rspec (= 1.
|
|
22
|
+
rubocop-rspec (= 2.1.0)
|
|
23
23
|
ast (2.4.1)
|
|
24
24
|
coderay (1.1.3)
|
|
25
|
-
concurrent-ruby (1.1.
|
|
25
|
+
concurrent-ruby (1.1.7)
|
|
26
26
|
diff-lcs (1.4.4)
|
|
27
|
-
docile (1.3.
|
|
28
|
-
i18n (1.8.
|
|
27
|
+
docile (1.3.5)
|
|
28
|
+
i18n (1.8.7)
|
|
29
29
|
concurrent-ruby (~> 1.0)
|
|
30
30
|
method_source (1.0.0)
|
|
31
|
-
minitest (5.14.
|
|
32
|
-
parallel (1.
|
|
33
|
-
parser (
|
|
31
|
+
minitest (5.14.3)
|
|
32
|
+
parallel (1.20.1)
|
|
33
|
+
parser (3.0.0.0)
|
|
34
34
|
ast (~> 2.4.1)
|
|
35
35
|
pry (0.13.1)
|
|
36
36
|
coderay (~> 1.1)
|
|
37
37
|
method_source (~> 1.0)
|
|
38
38
|
rack (2.2.3)
|
|
39
39
|
rainbow (3.0.0)
|
|
40
|
-
rake (13.0.
|
|
41
|
-
regexp_parser (
|
|
40
|
+
rake (13.0.3)
|
|
41
|
+
regexp_parser (2.0.3)
|
|
42
42
|
rexml (3.2.4)
|
|
43
|
-
rspec (3.
|
|
44
|
-
rspec-core (~> 3.
|
|
45
|
-
rspec-expectations (~> 3.
|
|
46
|
-
rspec-mocks (~> 3.
|
|
47
|
-
rspec-core (3.
|
|
48
|
-
rspec-support (~> 3.
|
|
49
|
-
rspec-expectations (3.
|
|
43
|
+
rspec (3.10.0)
|
|
44
|
+
rspec-core (~> 3.10.0)
|
|
45
|
+
rspec-expectations (~> 3.10.0)
|
|
46
|
+
rspec-mocks (~> 3.10.0)
|
|
47
|
+
rspec-core (3.10.1)
|
|
48
|
+
rspec-support (~> 3.10.0)
|
|
49
|
+
rspec-expectations (3.10.1)
|
|
50
50
|
diff-lcs (>= 1.2.0, < 2.0)
|
|
51
|
-
rspec-support (~> 3.
|
|
52
|
-
rspec-mocks (3.
|
|
51
|
+
rspec-support (~> 3.10.0)
|
|
52
|
+
rspec-mocks (3.10.1)
|
|
53
53
|
diff-lcs (>= 1.2.0, < 2.0)
|
|
54
|
-
rspec-support (~> 3.
|
|
55
|
-
rspec-support (3.
|
|
56
|
-
rubocop (
|
|
54
|
+
rspec-support (~> 3.10.0)
|
|
55
|
+
rspec-support (3.10.1)
|
|
56
|
+
rubocop (1.7.0)
|
|
57
57
|
parallel (~> 1.10)
|
|
58
|
-
parser (>= 2.7.
|
|
58
|
+
parser (>= 2.7.1.5)
|
|
59
59
|
rainbow (>= 2.2.2, < 4.0)
|
|
60
|
-
regexp_parser (>= 1.
|
|
60
|
+
regexp_parser (>= 1.8, < 3.0)
|
|
61
61
|
rexml
|
|
62
|
-
rubocop-ast (>= 0.0
|
|
62
|
+
rubocop-ast (>= 1.2.0, < 2.0)
|
|
63
63
|
ruby-progressbar (~> 1.7)
|
|
64
64
|
unicode-display_width (>= 1.4.0, < 2.0)
|
|
65
|
-
rubocop-ast (
|
|
66
|
-
parser (>= 2.7.
|
|
67
|
-
rubocop-performance (1.
|
|
68
|
-
rubocop (>= 0.
|
|
69
|
-
|
|
65
|
+
rubocop-ast (1.4.0)
|
|
66
|
+
parser (>= 2.7.1.5)
|
|
67
|
+
rubocop-performance (1.9.1)
|
|
68
|
+
rubocop (>= 0.90.0, < 2.0)
|
|
69
|
+
rubocop-ast (>= 0.4.0)
|
|
70
|
+
rubocop-rails (2.9.1)
|
|
70
71
|
activesupport (>= 4.2.0)
|
|
71
72
|
rack (>= 1.1)
|
|
72
|
-
rubocop (>= 0.
|
|
73
|
+
rubocop (>= 0.90.0, < 2.0)
|
|
73
74
|
rubocop-rake (0.5.1)
|
|
74
75
|
rubocop
|
|
75
|
-
rubocop-rspec (1.
|
|
76
|
-
rubocop (
|
|
77
|
-
|
|
78
|
-
|
|
76
|
+
rubocop-rspec (2.1.0)
|
|
77
|
+
rubocop (~> 1.0)
|
|
78
|
+
rubocop-ast (>= 1.1.0)
|
|
79
|
+
ruby-progressbar (1.11.0)
|
|
80
|
+
simplecov (0.21.2)
|
|
79
81
|
docile (~> 1.1)
|
|
80
82
|
simplecov-html (~> 0.11)
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
83
|
+
simplecov_json_formatter (~> 0.1)
|
|
84
|
+
simplecov-html (0.12.3)
|
|
85
|
+
simplecov_json_formatter (0.1.2)
|
|
86
|
+
smart_container (0.11.0)
|
|
87
|
+
smart_engine (~> 0.17)
|
|
88
|
+
smart_engine (0.17.0)
|
|
89
|
+
tzinfo (2.0.4)
|
|
90
|
+
concurrent-ruby (~> 1.0)
|
|
88
91
|
unicode-display_width (1.7.0)
|
|
89
|
-
zeitwerk (2.
|
|
92
|
+
zeitwerk (2.4.2)
|
|
90
93
|
|
|
91
94
|
PLATFORMS
|
|
92
|
-
|
|
95
|
+
arm64-darwin-21
|
|
96
|
+
x86_64-darwin-20
|
|
93
97
|
|
|
94
98
|
DEPENDENCIES
|
|
95
|
-
armitage-rubocop (~>
|
|
96
|
-
bundler (~> 2.
|
|
99
|
+
armitage-rubocop (~> 1.7)
|
|
100
|
+
bundler (~> 2.2)
|
|
97
101
|
pry (~> 0.13)
|
|
98
102
|
rake (~> 13.0)
|
|
99
|
-
rspec (~> 3.
|
|
100
|
-
simplecov (~> 0.
|
|
103
|
+
rspec (~> 3.10)
|
|
104
|
+
simplecov (~> 0.21)
|
|
101
105
|
smart_injection!
|
|
102
106
|
|
|
103
107
|
BUNDLED WITH
|
|
104
|
-
2.
|
|
108
|
+
2.2.3
|
data/README.md
CHANGED
|
@@ -1,6 +1,14 @@
|
|
|
1
|
-
# SmartCore::Injection ·
|
|
1
|
+
# SmartCore::Injection · <a target="_blank" href="https://github.com/Cado-Labs"><img src="https://github.com/Cado-Labs/cado-labs-logos/raw/main/cado_labs_badge.svg" alt="Supported by Cado Labs" style="max-width: 100%; height: 20px"></a> · [](https://badge.fury.io/rb/smart_injection)
|
|
2
2
|
|
|
3
|
-
Dependency injection principles and idioms realized in scope of Ruby.
|
|
3
|
+
Dependency injection principles and idioms realized in scope of Ruby. Support for method-injeciton strategy, container-based dependency resolving, static and dynamic bindings and etc.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
<p>
|
|
8
|
+
<a href="https://github.com/Cado-Labs">
|
|
9
|
+
<img src="https://github.com/Cado-Labs/cado-labs-logos/blob/main/cado_labs_supporting.svg" alt="Supported by Cado Labs" />
|
|
10
|
+
</a>
|
|
11
|
+
</p>
|
|
4
12
|
|
|
5
13
|
---
|
|
6
14
|
|
|
@@ -22,6 +30,18 @@ Dependency injection principles and idioms realized in scope of Ruby.
|
|
|
22
30
|
|
|
23
31
|
---
|
|
24
32
|
|
|
33
|
+
## Usage
|
|
34
|
+
|
|
35
|
+
- [Installation](#installation)
|
|
36
|
+
- [Synopsis](#synopsis)
|
|
37
|
+
- [Roadmap](#roadmap)
|
|
38
|
+
- [Build](#build)
|
|
39
|
+
- [Contributing](#contributing)
|
|
40
|
+
- [License](#license)
|
|
41
|
+
- [Authors](#authors)
|
|
42
|
+
|
|
43
|
+
---
|
|
44
|
+
|
|
25
45
|
## Installation
|
|
26
46
|
|
|
27
47
|
```ruby
|
|
@@ -54,7 +74,7 @@ end
|
|
|
54
74
|
|
|
55
75
|
ServiceContainer = SmartCore::Container.define do
|
|
56
76
|
namespace(:rands) do
|
|
57
|
-
register(:alphanum) { -> {
|
|
77
|
+
register(:alphanum) { -> { SecureRandom.alphanumeric } }
|
|
58
78
|
register(:hex) { -> { SecureRandom.hex } }
|
|
59
79
|
end
|
|
60
80
|
end
|
|
@@ -105,6 +125,37 @@ end
|
|
|
105
125
|
|
|
106
126
|
---
|
|
107
127
|
|
|
128
|
+
## Roadmap
|
|
129
|
+
|
|
130
|
+
- **[0.3.0]** - support for default injection configuration which should be specified in `SmartCore::Injection` module inclusion (in addition to default containers)
|
|
131
|
+
- **[0.x.0]** - more docs, more examples, more tips-and-tricks :)
|
|
132
|
+
- **[0.x.0]** - migrate to GithubActions;
|
|
133
|
+
- **[0.x.0]** - type signatures (rbs);
|
|
134
|
+
|
|
135
|
+
---
|
|
136
|
+
|
|
137
|
+
## Build
|
|
138
|
+
|
|
139
|
+
- run tests:
|
|
140
|
+
|
|
141
|
+
```shell
|
|
142
|
+
bundle exce rake rspec
|
|
143
|
+
```
|
|
144
|
+
|
|
145
|
+
- run code style checking:
|
|
146
|
+
|
|
147
|
+
```shell
|
|
148
|
+
bundle exec rake rubocop
|
|
149
|
+
```
|
|
150
|
+
|
|
151
|
+
- run code style checking with auto-correction:
|
|
152
|
+
|
|
153
|
+
```shell
|
|
154
|
+
bundle exec rake rubocop -A
|
|
155
|
+
```
|
|
156
|
+
|
|
157
|
+
---
|
|
158
|
+
|
|
108
159
|
## Contributing
|
|
109
160
|
|
|
110
161
|
- Fork it ( https://github.com/smart-rb/smart_injection )
|
|
@@ -117,6 +168,12 @@ end
|
|
|
117
168
|
|
|
118
169
|
Released under MIT License.
|
|
119
170
|
|
|
171
|
+
## Supporting
|
|
172
|
+
|
|
173
|
+
<a href="https://github.com/Cado-Labs">
|
|
174
|
+
<img src="https://github.com/Cado-Labs/cado-labs-logos/blob/main/cado_labs_logo.png" alt="Supported by Cado Labs" />
|
|
175
|
+
</a>
|
|
176
|
+
|
|
120
177
|
## Authors
|
|
121
178
|
|
|
122
179
|
[Rustam Ibragimov](https://github.com/0exp)
|
data/bin/console
CHANGED
|
@@ -2,14 +2,18 @@
|
|
|
2
2
|
|
|
3
3
|
# @api private
|
|
4
4
|
# @since 0.1.0
|
|
5
|
+
# @version 0.3.0
|
|
5
6
|
class SmartCore::Injection::Locator::Dependency
|
|
7
|
+
# @option memoize [Boolean]
|
|
6
8
|
# @return [void]
|
|
7
9
|
#
|
|
8
10
|
# @api private
|
|
9
11
|
# @since 0.1.0
|
|
10
|
-
|
|
12
|
+
# @version 0.3.0
|
|
13
|
+
def initialize(memoize:)
|
|
11
14
|
@binded = false
|
|
12
15
|
@value = nil
|
|
16
|
+
@memoize = memoize
|
|
13
17
|
@barrier = SmartCore::Engine::Lock.new
|
|
14
18
|
end
|
|
15
19
|
|
|
@@ -29,14 +33,32 @@ class SmartCore::Injection::Locator::Dependency
|
|
|
29
33
|
# @return [Any]
|
|
30
34
|
#
|
|
31
35
|
# @api public
|
|
32
|
-
# @since 0.
|
|
36
|
+
# @since 0.2.0
|
|
37
|
+
# @version 0.3.0
|
|
33
38
|
def bind(&block)
|
|
34
39
|
with_barrier do
|
|
35
|
-
|
|
36
|
-
|
|
40
|
+
# NOTE:
|
|
41
|
+
# Temporary disabled old variant of dependency resolving
|
|
42
|
+
# cuz we need to reivew the canonical way of dependency resolving
|
|
43
|
+
# and rework the resolving at all on runtime level (under `memoize: true` option).
|
|
44
|
+
# Old code variant:
|
|
45
|
+
#
|
|
46
|
+
# if @binded
|
|
47
|
+
# @value
|
|
48
|
+
# else
|
|
49
|
+
# @binded = true
|
|
50
|
+
# @value = yield
|
|
51
|
+
# end
|
|
52
|
+
|
|
53
|
+
if @memoize
|
|
54
|
+
if @binded
|
|
55
|
+
@value
|
|
56
|
+
else
|
|
57
|
+
@binded = true
|
|
58
|
+
@value = yield
|
|
59
|
+
end
|
|
37
60
|
else
|
|
38
|
-
|
|
39
|
-
@value = yield
|
|
61
|
+
yield
|
|
40
62
|
end
|
|
41
63
|
end
|
|
42
64
|
end
|
|
@@ -11,7 +11,7 @@ module SmartCore::Injection::Locator::Factory
|
|
|
11
11
|
# @since 0.1.0
|
|
12
12
|
def create(injection_settings, import_key, import_path)
|
|
13
13
|
container_proxy = create_container_proxy(injection_settings)
|
|
14
|
-
create_locator(import_path, container_proxy).tap do |locator|
|
|
14
|
+
create_locator(injection_settings, import_path, container_proxy).tap do |locator|
|
|
15
15
|
control_injection_memoization(injection_settings, container_proxy, locator, import_path)
|
|
16
16
|
end
|
|
17
17
|
end
|
|
@@ -29,14 +29,19 @@ module SmartCore::Injection::Locator::Factory
|
|
|
29
29
|
)
|
|
30
30
|
end
|
|
31
31
|
|
|
32
|
+
# @param injection_settings [SmartCore::Injection::Injector::InjectionSettings]
|
|
32
33
|
# @param import_path [String]
|
|
33
34
|
# @param container_proxy [SmartCore::Injection::Locator::ContainerProxy]
|
|
34
35
|
# @return [SmartCore::Injection::Locator]
|
|
35
36
|
#
|
|
36
37
|
# @api private
|
|
37
38
|
# @since 0.1.0
|
|
38
|
-
def create_locator(import_path, container_proxy)
|
|
39
|
-
SmartCore::Injection::Locator.new(
|
|
39
|
+
def create_locator(injection_settings, import_path, container_proxy)
|
|
40
|
+
SmartCore::Injection::Locator.new(
|
|
41
|
+
import_path,
|
|
42
|
+
container_proxy,
|
|
43
|
+
memoize_dependency: injection_settings.memoize
|
|
44
|
+
)
|
|
40
45
|
end
|
|
41
46
|
|
|
42
47
|
# @param injection_settings [SmartCore::Injection::Injector::InjectionSettings]
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
# @api private
|
|
4
4
|
# @since 0.1.0
|
|
5
|
+
# @version 0.3.0
|
|
5
6
|
class SmartCore::Injection::Locator
|
|
6
7
|
require_relative 'locator/container_proxy'
|
|
7
8
|
require_relative 'locator/dependency'
|
|
@@ -15,14 +16,17 @@ class SmartCore::Injection::Locator
|
|
|
15
16
|
|
|
16
17
|
# @param import_path [String]
|
|
17
18
|
# @param container_proxy [SmartCore::Injection::Locator::ContainerProxy]
|
|
19
|
+
# @option memoize_dependency [Boolean]
|
|
18
20
|
# @return [void]
|
|
19
21
|
#
|
|
20
22
|
# @api private
|
|
21
23
|
# @since 0.1.0
|
|
22
|
-
|
|
24
|
+
# @version 0.3.0
|
|
25
|
+
def initialize(import_path, container_proxy, memoize_dependency:)
|
|
23
26
|
@import_path = import_path
|
|
24
27
|
@container_proxy = container_proxy
|
|
25
|
-
@
|
|
28
|
+
@memoize_dependency = memoize_dependency
|
|
29
|
+
@dependency = SmartCore::Injection::Locator::Dependency.new(memoize: memoize_dependency)
|
|
26
30
|
end
|
|
27
31
|
|
|
28
32
|
# @return [Any]
|
|
@@ -56,4 +60,12 @@ class SmartCore::Injection::Locator
|
|
|
56
60
|
# @api private
|
|
57
61
|
# @since 0.1.0
|
|
58
62
|
attr_reader :container_proxy
|
|
63
|
+
|
|
64
|
+
# NOTE: non-usable ivar, added only for commfort debaggung
|
|
65
|
+
# NOTE: will be reworked in next version
|
|
66
|
+
# @return [Boolean]
|
|
67
|
+
#
|
|
68
|
+
# @api private
|
|
69
|
+
# @since 0.3.0
|
|
70
|
+
attr_reader :memoize_dependency
|
|
59
71
|
end
|
data/smart_injection.gemspec
CHANGED
|
@@ -11,7 +11,11 @@ Gem::Specification.new do |spec|
|
|
|
11
11
|
spec.email = ['iamdaiver@gmail.com']
|
|
12
12
|
|
|
13
13
|
spec.summary = 'DI principles and idioms realized in scope of Ruby'
|
|
14
|
-
spec.description = 'DI principles and idioms realized in scope of Ruby'
|
|
14
|
+
spec.description = 'DI principles and idioms realized in scope of Ruby.' \
|
|
15
|
+
'Support for method-injeciton strategy, ' \
|
|
16
|
+
'container-based dependency resolving, ' \
|
|
17
|
+
'static and dynamic bindings and etc.'
|
|
18
|
+
|
|
15
19
|
spec.homepage = 'https://github.com/smart-rb/smart_injection'
|
|
16
20
|
spec.license = 'MIT'
|
|
17
21
|
|
|
@@ -30,13 +34,13 @@ Gem::Specification.new do |spec|
|
|
|
30
34
|
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
|
31
35
|
spec.require_paths = ['lib']
|
|
32
36
|
|
|
33
|
-
spec.add_runtime_dependency 'smart_engine', '~> 0.
|
|
34
|
-
spec.add_runtime_dependency 'smart_container', '~> 0.
|
|
37
|
+
spec.add_runtime_dependency 'smart_engine', '~> 0.11'
|
|
38
|
+
spec.add_runtime_dependency 'smart_container', '~> 0.9'
|
|
35
39
|
|
|
36
|
-
spec.add_development_dependency 'bundler', '~> 2.
|
|
40
|
+
spec.add_development_dependency 'bundler', '~> 2.2'
|
|
37
41
|
spec.add_development_dependency 'rake', '~> 13.0'
|
|
38
|
-
spec.add_development_dependency 'rspec', '~> 3.
|
|
39
|
-
spec.add_development_dependency 'armitage-rubocop', '~>
|
|
40
|
-
spec.add_development_dependency 'simplecov', '~> 0.
|
|
42
|
+
spec.add_development_dependency 'rspec', '~> 3.10'
|
|
43
|
+
spec.add_development_dependency 'armitage-rubocop', '~> 1.7'
|
|
44
|
+
spec.add_development_dependency 'simplecov', '~> 0.21'
|
|
41
45
|
spec.add_development_dependency 'pry', '~> 0.13'
|
|
42
46
|
end
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: smart_injection
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 0.3.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Rustam Ibragimov
|
|
8
|
-
autorequire:
|
|
8
|
+
autorequire:
|
|
9
9
|
bindir: exe
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date:
|
|
11
|
+
date: 2023-01-13 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: smart_engine
|
|
@@ -16,48 +16,42 @@ dependencies:
|
|
|
16
16
|
requirements:
|
|
17
17
|
- - "~>"
|
|
18
18
|
- !ruby/object:Gem::Version
|
|
19
|
-
version: '0.
|
|
19
|
+
version: '0.11'
|
|
20
20
|
type: :runtime
|
|
21
21
|
prerelease: false
|
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
|
23
23
|
requirements:
|
|
24
24
|
- - "~>"
|
|
25
25
|
- !ruby/object:Gem::Version
|
|
26
|
-
version: '0.
|
|
26
|
+
version: '0.11'
|
|
27
27
|
- !ruby/object:Gem::Dependency
|
|
28
28
|
name: smart_container
|
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
|
30
30
|
requirements:
|
|
31
31
|
- - "~>"
|
|
32
32
|
- !ruby/object:Gem::Version
|
|
33
|
-
version: '0.
|
|
34
|
-
- - ">="
|
|
35
|
-
- !ruby/object:Gem::Version
|
|
36
|
-
version: 0.8.1
|
|
33
|
+
version: '0.9'
|
|
37
34
|
type: :runtime
|
|
38
35
|
prerelease: false
|
|
39
36
|
version_requirements: !ruby/object:Gem::Requirement
|
|
40
37
|
requirements:
|
|
41
38
|
- - "~>"
|
|
42
39
|
- !ruby/object:Gem::Version
|
|
43
|
-
version: '0.
|
|
44
|
-
- - ">="
|
|
45
|
-
- !ruby/object:Gem::Version
|
|
46
|
-
version: 0.8.1
|
|
40
|
+
version: '0.9'
|
|
47
41
|
- !ruby/object:Gem::Dependency
|
|
48
42
|
name: bundler
|
|
49
43
|
requirement: !ruby/object:Gem::Requirement
|
|
50
44
|
requirements:
|
|
51
45
|
- - "~>"
|
|
52
46
|
- !ruby/object:Gem::Version
|
|
53
|
-
version: '2.
|
|
47
|
+
version: '2.2'
|
|
54
48
|
type: :development
|
|
55
49
|
prerelease: false
|
|
56
50
|
version_requirements: !ruby/object:Gem::Requirement
|
|
57
51
|
requirements:
|
|
58
52
|
- - "~>"
|
|
59
53
|
- !ruby/object:Gem::Version
|
|
60
|
-
version: '2.
|
|
54
|
+
version: '2.2'
|
|
61
55
|
- !ruby/object:Gem::Dependency
|
|
62
56
|
name: rake
|
|
63
57
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -78,42 +72,42 @@ dependencies:
|
|
|
78
72
|
requirements:
|
|
79
73
|
- - "~>"
|
|
80
74
|
- !ruby/object:Gem::Version
|
|
81
|
-
version: '3.
|
|
75
|
+
version: '3.10'
|
|
82
76
|
type: :development
|
|
83
77
|
prerelease: false
|
|
84
78
|
version_requirements: !ruby/object:Gem::Requirement
|
|
85
79
|
requirements:
|
|
86
80
|
- - "~>"
|
|
87
81
|
- !ruby/object:Gem::Version
|
|
88
|
-
version: '3.
|
|
82
|
+
version: '3.10'
|
|
89
83
|
- !ruby/object:Gem::Dependency
|
|
90
84
|
name: armitage-rubocop
|
|
91
85
|
requirement: !ruby/object:Gem::Requirement
|
|
92
86
|
requirements:
|
|
93
87
|
- - "~>"
|
|
94
88
|
- !ruby/object:Gem::Version
|
|
95
|
-
version: '
|
|
89
|
+
version: '1.7'
|
|
96
90
|
type: :development
|
|
97
91
|
prerelease: false
|
|
98
92
|
version_requirements: !ruby/object:Gem::Requirement
|
|
99
93
|
requirements:
|
|
100
94
|
- - "~>"
|
|
101
95
|
- !ruby/object:Gem::Version
|
|
102
|
-
version: '
|
|
96
|
+
version: '1.7'
|
|
103
97
|
- !ruby/object:Gem::Dependency
|
|
104
98
|
name: simplecov
|
|
105
99
|
requirement: !ruby/object:Gem::Requirement
|
|
106
100
|
requirements:
|
|
107
101
|
- - "~>"
|
|
108
102
|
- !ruby/object:Gem::Version
|
|
109
|
-
version: '0.
|
|
103
|
+
version: '0.21'
|
|
110
104
|
type: :development
|
|
111
105
|
prerelease: false
|
|
112
106
|
version_requirements: !ruby/object:Gem::Requirement
|
|
113
107
|
requirements:
|
|
114
108
|
- - "~>"
|
|
115
109
|
- !ruby/object:Gem::Version
|
|
116
|
-
version: '0.
|
|
110
|
+
version: '0.21'
|
|
117
111
|
- !ruby/object:Gem::Dependency
|
|
118
112
|
name: pry
|
|
119
113
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -128,7 +122,9 @@ dependencies:
|
|
|
128
122
|
- - "~>"
|
|
129
123
|
- !ruby/object:Gem::Version
|
|
130
124
|
version: '0.13'
|
|
131
|
-
description: DI principles and idioms realized in scope of Ruby
|
|
125
|
+
description: DI principles and idioms realized in scope of Ruby.Support for method-injeciton
|
|
126
|
+
strategy, container-based dependency resolving, static and dynamic bindings and
|
|
127
|
+
etc.
|
|
132
128
|
email:
|
|
133
129
|
- iamdaiver@gmail.com
|
|
134
130
|
executables: []
|
|
@@ -138,7 +134,6 @@ files:
|
|
|
138
134
|
- ".gitignore"
|
|
139
135
|
- ".rspec"
|
|
140
136
|
- ".rubocop.yml"
|
|
141
|
-
- ".travis.yml"
|
|
142
137
|
- CHANGELOG.md
|
|
143
138
|
- CODE_OF_CONDUCT.md
|
|
144
139
|
- Gemfile
|
|
@@ -172,7 +167,7 @@ metadata:
|
|
|
172
167
|
homepage_uri: https://github.com/smart-rb/smart_injection
|
|
173
168
|
source_code_uri: https://github.com/smart-rb/smart_injection
|
|
174
169
|
changelog_uri: https://github.com/smart-rb/smart_injection/blob/master/CHANGELOG.md
|
|
175
|
-
post_install_message:
|
|
170
|
+
post_install_message:
|
|
176
171
|
rdoc_options: []
|
|
177
172
|
require_paths:
|
|
178
173
|
- lib
|
|
@@ -187,8 +182,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
187
182
|
- !ruby/object:Gem::Version
|
|
188
183
|
version: '0'
|
|
189
184
|
requirements: []
|
|
190
|
-
rubygems_version: 3.
|
|
191
|
-
signing_key:
|
|
185
|
+
rubygems_version: 3.3.7
|
|
186
|
+
signing_key:
|
|
192
187
|
specification_version: 4
|
|
193
188
|
summary: DI principles and idioms realized in scope of Ruby
|
|
194
189
|
test_files: []
|
data/.travis.yml
DELETED
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
language: ruby
|
|
3
|
-
cache: bundler
|
|
4
|
-
os: linux
|
|
5
|
-
dist: xenial
|
|
6
|
-
jobs:
|
|
7
|
-
fast_finish: true
|
|
8
|
-
include:
|
|
9
|
-
- rvm: 2.4.10
|
|
10
|
-
- rvm: 2.5.8
|
|
11
|
-
- rvm: 2.6.6
|
|
12
|
-
- rvm: 2.7.1
|
|
13
|
-
- rvm: jruby-head
|
|
14
|
-
- rvm: ruby-head
|
|
15
|
-
- rvm: truffleruby
|
|
16
|
-
allow_failures:
|
|
17
|
-
- rvm: ruby-head
|
|
18
|
-
- rvm: jruby-head
|
|
19
|
-
- rvm: truffleruby
|
|
20
|
-
before_install: gem install bundler
|
|
21
|
-
script:
|
|
22
|
-
- bundle exec rake rubocop
|
|
23
|
-
- bundle exec rake rspec
|