infusible 1.0.1 → 1.0.3
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
- 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
|