infusible 1.0.1 → 1.0.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- checksums.yaml.gz.sig +0 -0
- data/README.adoc +31 -16
- data/infusible.gemspec +4 -4
- data.tar.gz.sig +0 -0
- metadata +30 -23
- metadata.gz.sig +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 46b42c55c3aa5ccb951b3b048c0bb88d2dff2096ac3e96f91832cd09c4780c52
|
4
|
+
data.tar.gz: 54810861bd9630883971d546bc35fa2b45bed767dc07307d96724179a1a56e62
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a3e491e90e57f2ef6c677ae1a532fc10cb9e7ebf4b9711ae5b4b3adf95fabb66c1114393ade6bc79a396f419a7bba029409fcb24f45dee36fa29ef6fb55a7921
|
7
|
+
data.tar.gz: 66877cecb7c3f8376390a2114e0c147d26e6a3b6228d2d0599996099974d3a90f07201652d44a25aafa29e542afd7cf875d63ecf3d1d57bec73b9f4a76f8a67c
|
checksums.yaml.gz.sig
CHANGED
Binary file
|
data/README.adoc
CHANGED
@@ -38,7 +38,7 @@ toc::[]
|
|
38
38
|
|
39
39
|
* Ensures injected dependencies are _private by default_.
|
40
40
|
* Uses a slimmed down architecture with a strong focus on keyword arguments.
|
41
|
-
* Built on top of the link:https://
|
41
|
+
* Built on top of the link:https://alchemists.io/projects/marameters[Marameters] gem.
|
42
42
|
|
43
43
|
== Requirements
|
44
44
|
|
@@ -47,18 +47,34 @@ toc::[]
|
|
47
47
|
|
48
48
|
== Setup
|
49
49
|
|
50
|
-
To install, run:
|
50
|
+
To install _with_ security, run:
|
51
|
+
|
52
|
+
[source,bash]
|
53
|
+
----
|
54
|
+
# 💡 Skip this line if you already have the public certificate installed.
|
55
|
+
gem cert --add <(curl --compressed --location https://alchemists.io/gems.pem)
|
56
|
+
gem install infusible --trust-policy HighSecurity
|
57
|
+
----
|
58
|
+
|
59
|
+
To install _without_ security, run:
|
51
60
|
|
52
61
|
[source,bash]
|
53
62
|
----
|
54
63
|
gem install infusible
|
55
64
|
----
|
56
65
|
|
57
|
-
|
66
|
+
You can also add the gem directly to your project:
|
67
|
+
|
68
|
+
[source,bash]
|
69
|
+
----
|
70
|
+
bundle add infusible
|
71
|
+
----
|
72
|
+
|
73
|
+
Once the gem is installed, you only need to require it:
|
58
74
|
|
59
75
|
[source,ruby]
|
60
76
|
----
|
61
|
-
|
77
|
+
require "infusible"
|
62
78
|
----
|
63
79
|
|
64
80
|
== Usage
|
@@ -217,9 +233,8 @@ Should you want to use injection in combination with your own initializer, you'l
|
|
217
233
|
class Pinger
|
218
234
|
include Import[:logger]
|
219
235
|
|
220
|
-
def initialize
|
221
|
-
super(**
|
222
|
-
|
236
|
+
def initialize(http: HTTP, **)
|
237
|
+
super(**)
|
223
238
|
@http = http
|
224
239
|
end
|
225
240
|
|
@@ -451,7 +466,7 @@ When using this gem, along with a container like {dry-container_link}, make sure
|
|
451
466
|
* Use containers to group related dependencies that make logical sense for the namespace you are working in and avoid using containers as a junk drawer for throwing random objects in.
|
452
467
|
* Use containers that don't have a lot of registered dependencies. If you register too many dependencies, then that means your objects are too complex and need to be simplified further.
|
453
468
|
* Use the `Import` constant to define _what_ is possible to import much like you'd use a `Container` to define your dependencies. Defining what is importable improves performance and should be defined in separate files for improved fuzzy file finding.
|
454
|
-
* Use
|
469
|
+
* Use `**` to forward keyword arguments when defining an initializer which needs to pass injected dependencies upwards.
|
455
470
|
|
456
471
|
== Tests
|
457
472
|
|
@@ -462,19 +477,19 @@ To test, run:
|
|
462
477
|
bin/rake
|
463
478
|
----
|
464
479
|
|
465
|
-
== link:https://
|
480
|
+
== link:https://alchemists.io/policies/license[License]
|
466
481
|
|
467
|
-
== link:https://
|
482
|
+
== link:https://alchemists.io/policies/security[Security]
|
468
483
|
|
469
|
-
== link:https://
|
484
|
+
== link:https://alchemists.io/policies/code_of_conduct[Code of Conduct]
|
470
485
|
|
471
|
-
== link:https://
|
486
|
+
== link:https://alchemists.io/policies/contributions[Contributions]
|
472
487
|
|
473
|
-
== link:https://
|
488
|
+
== link:https://alchemists.io/projects/infusible/versions[Versions]
|
474
489
|
|
475
|
-
== link:https://
|
490
|
+
== link:https://alchemists.io/community[Community]
|
476
491
|
|
477
492
|
== Credits
|
478
493
|
|
479
|
-
* Built with link:https://
|
480
|
-
* Engineered by link:https://
|
494
|
+
* Built with link:https://alchemists.io/projects/gemsmith[Gemsmith].
|
495
|
+
* Engineered by link:https://alchemists.io/team/brooke_kuhlmann[Brooke Kuhlmann].
|
data/infusible.gemspec
CHANGED
@@ -2,17 +2,17 @@
|
|
2
2
|
|
3
3
|
Gem::Specification.new do |spec|
|
4
4
|
spec.name = "infusible"
|
5
|
-
spec.version = "1.0.
|
5
|
+
spec.version = "1.0.3"
|
6
6
|
spec.authors = ["Brooke Kuhlmann"]
|
7
7
|
spec.email = ["brooke@alchemists.io"]
|
8
|
-
spec.homepage = "https://
|
8
|
+
spec.homepage = "https://alchemists.io/projects/infusible"
|
9
9
|
spec.summary = "Automates the injection of dependencies into your class."
|
10
10
|
spec.license = "Hippocratic-2.1"
|
11
11
|
|
12
12
|
spec.metadata = {
|
13
13
|
"bug_tracker_uri" => "https://github.com/bkuhlmann/infusible/issues",
|
14
|
-
"changelog_uri" => "https://
|
15
|
-
"documentation_uri" => "https://
|
14
|
+
"changelog_uri" => "https://alchemists.io/projects/infusible/versions",
|
15
|
+
"documentation_uri" => "https://alchemists.io/projects/infusible",
|
16
16
|
"funding_uri" => "https://github.com/sponsors/bkuhlmann",
|
17
17
|
"label" => "Infusible",
|
18
18
|
"rubygems_mfa_required" => "true",
|
data.tar.gz.sig
CHANGED
Binary file
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: infusible
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Brooke Kuhlmann
|
@@ -10,25 +10,32 @@ bindir: bin
|
|
10
10
|
cert_chain:
|
11
11
|
- |
|
12
12
|
-----BEGIN CERTIFICATE-----
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
13
|
+
MIIEeDCCAuCgAwIBAgIBATANBgkqhkiG9w0BAQsFADBBMQ8wDQYDVQQDDAZicm9v
|
14
|
+
a2UxGjAYBgoJkiaJk/IsZAEZFgphbGNoZW1pc3RzMRIwEAYKCZImiZPyLGQBGRYC
|
15
|
+
aW8wHhcNMjMwMzIyMTYxNDQxWhcNMjUwMzIxMTYxNDQxWjBBMQ8wDQYDVQQDDAZi
|
16
|
+
cm9va2UxGjAYBgoJkiaJk/IsZAEZFgphbGNoZW1pc3RzMRIwEAYKCZImiZPyLGQB
|
17
|
+
GRYCaW8wggGiMA0GCSqGSIb3DQEBAQUAA4IBjwAwggGKAoIBgQCro8tj5/E1Hg88
|
18
|
+
f4qfiwPVd2zJQHvdYt4GHVvuHRRgx4HGhJuNp+4BId08RBn7V6V1MW6MY3kezRBs
|
19
|
+
M+7QOQ4b1xNLTvY7FYQB1wGK5a4x7TTokDrPYQxDB2jmsdDYCzVbIMrAvUfcecRi
|
20
|
+
khyGZCdByiiCl4fKv77P12tTT+NfsvXkLt/AYCGwjOUyGKTQ01Z6eC09T27GayPH
|
21
|
+
QQvIkakyFgcJtzSyGzs8bzK5q9u7wQ12MNTjJoXzW69lqp0oNvDylu81EiSUb5S6
|
22
|
+
QzzPxZBiRB1sgtbt1gUbVI262ZDq1gR+HxPFmp+Cgt7ZLIJZAtesQvtcMzseXpfn
|
23
|
+
hpmm0Sw22KGhRAy/mqHBRhDl5HqS1SJp2Ko3lcnpXeFResp0HNlt8NSu13vhC08j
|
24
|
+
GUHU9MyIXbFOsnp3K3ADrAVjPWop8EZkmUR3MV/CUm00w2cZHCSGiXl1KMpiVKvk
|
25
|
+
Ywr1gd2ZME4QLSo+EXUtLxDUa/W3xnBS8dBOuMMz02FPWYr3PN8CAwEAAaN7MHkw
|
26
|
+
CQYDVR0TBAIwADALBgNVHQ8EBAMCBLAwHQYDVR0OBBYEFAFgmv0tYMZnItuPycSM
|
27
|
+
F5wykJEVMB8GA1UdEQQYMBaBFGJyb29rZUBhbGNoZW1pc3RzLmlvMB8GA1UdEgQY
|
28
|
+
MBaBFGJyb29rZUBhbGNoZW1pc3RzLmlvMA0GCSqGSIb3DQEBCwUAA4IBgQAX+EGY
|
29
|
+
9RLYGxF1VLZz+G1ACQc4uyrCB6kXwI06kzUa5dF9tPXqTX9ffnz3/W8ck2IQhKzu
|
30
|
+
MKO2FVijzbDWTsZeZGglS4E+4Jxpau1lU9HhOIcKolv6LeC6UdALTFudY+GLb8Xw
|
31
|
+
REXgaJkjzzhkUSILmEnRwEbY08dVSl7ZAaxVI679vfI2yapLlIwpbBgmQTiTvPr3
|
32
|
+
qyyLUno9flYEOv9fmGHunSrM+gE0/0niGTXa5GgXBXYGS2he4LQGgSBfGp/cTwMU
|
33
|
+
rDKJRcusZ12lNBeDfgqACz/BBJF8FLodgk6rGMRZz7+ZmjjHEmpG5bQpR6Q2BuWL
|
34
|
+
XMtYk/QzaWuhiR7pWjiF8jbdd7RO6or0ohq7iFkokz/5xrtQ/vPzU2RQ3Qc6YaKw
|
35
|
+
3n5C8/6Zh9DYTkpcwPSuIfAga6wf4nXc9m6JAw8AuMLaiWN/r/2s4zJsUHYERJEu
|
36
|
+
gZGm4JqtuSg8pYjPeIJxS960owq+SfuC+jxqmRA54BisFCv/0VOJi7tiJVY=
|
30
37
|
-----END CERTIFICATE-----
|
31
|
-
date: 2023-
|
38
|
+
date: 2023-04-30 00:00:00.000000000 Z
|
32
39
|
dependencies:
|
33
40
|
- !ruby/object:Gem::Dependency
|
34
41
|
name: marameters
|
@@ -77,13 +84,13 @@ files:
|
|
77
84
|
- lib/infusible/errors/duplicate_dependency.rb
|
78
85
|
- lib/infusible/errors/invalid_dependency.rb
|
79
86
|
- lib/infusible/stub.rb
|
80
|
-
homepage: https://
|
87
|
+
homepage: https://alchemists.io/projects/infusible
|
81
88
|
licenses:
|
82
89
|
- Hippocratic-2.1
|
83
90
|
metadata:
|
84
91
|
bug_tracker_uri: https://github.com/bkuhlmann/infusible/issues
|
85
|
-
changelog_uri: https://
|
86
|
-
documentation_uri: https://
|
92
|
+
changelog_uri: https://alchemists.io/projects/infusible/versions
|
93
|
+
documentation_uri: https://alchemists.io/projects/infusible
|
87
94
|
funding_uri: https://github.com/sponsors/bkuhlmann
|
88
95
|
label: Infusible
|
89
96
|
rubygems_mfa_required: 'true'
|
@@ -103,7 +110,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
103
110
|
- !ruby/object:Gem::Version
|
104
111
|
version: '0'
|
105
112
|
requirements: []
|
106
|
-
rubygems_version: 3.4.
|
113
|
+
rubygems_version: 3.4.12
|
107
114
|
signing_key:
|
108
115
|
specification_version: 4
|
109
116
|
summary: Automates the injection of dependencies into your class.
|
metadata.gz.sig
CHANGED
Binary file
|