providers 0.4.0 → 0.5.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/lib/providers.rb +22 -5
- data/lib/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 2f00a76777a6c399d76aa2e7b9da8620d4282d6b92ab59426f349ad43dcbcf0f
|
|
4
|
+
data.tar.gz: ccba87d34e77891304bca92fce2c6b7f3f485fe81bb959a27699f53819147c01
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 8624a205b4ca891a1464338ffc3dbb6b959ea0d896c25d15b0a6ee010cae08dcdad9ddf3d19ba05d5ff58a9ec5523c64a1c6e3a357da4f5bf2479b6fa847d0c7
|
|
7
|
+
data.tar.gz: 3982786ceb3db9878cdfed87d078a2abd8cc7b9a325b7e705741e63579f69bdf0218542e118e081c701e642aac0932c0b04b46af285142f5ca47df5164e5d736
|
data/lib/providers.rb
CHANGED
|
@@ -17,11 +17,18 @@ module Providers
|
|
|
17
17
|
|
|
18
18
|
# Providers[] are hard to stub in tests and should only be used when dependency injection isn't possible.
|
|
19
19
|
# TODO: Make Providers[] easy to stub in tests and look into feature where we get providers from another Ecosystem.
|
|
20
|
-
def [](
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
20
|
+
def [](*provider_keys)
|
|
21
|
+
provider_keys = [*provider_keys]
|
|
22
|
+
|
|
23
|
+
raise(MissingProviderError, 'Pass one more provider keys') if provider_keys.empty?
|
|
24
|
+
|
|
25
|
+
if provider_keys.count == 1
|
|
26
|
+
result(provider_keys.first)
|
|
27
|
+
else
|
|
28
|
+
provider_keys.map do |provider_key|
|
|
29
|
+
result(provider_key)
|
|
30
|
+
end
|
|
31
|
+
end
|
|
25
32
|
end
|
|
26
33
|
|
|
27
34
|
def all
|
|
@@ -31,5 +38,15 @@ module Providers
|
|
|
31
38
|
def clear
|
|
32
39
|
@providers = {}
|
|
33
40
|
end
|
|
41
|
+
|
|
42
|
+
private
|
|
43
|
+
|
|
44
|
+
def result(provider_key)
|
|
45
|
+
provider = providers[provider_key]
|
|
46
|
+
|
|
47
|
+
raise(MissingProviderError, "Provider #{provider_key.inspect} not found") if provider.nil?
|
|
48
|
+
|
|
49
|
+
provider.result
|
|
50
|
+
end
|
|
34
51
|
end
|
|
35
52
|
end
|
data/lib/version.rb
CHANGED
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: providers
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 0.5.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- maedi
|
|
@@ -58,7 +58,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
58
58
|
- !ruby/object:Gem::Version
|
|
59
59
|
version: '0'
|
|
60
60
|
requirements: []
|
|
61
|
-
rubygems_version: 4.0.
|
|
61
|
+
rubygems_version: 4.0.10
|
|
62
62
|
specification_version: 4
|
|
63
63
|
summary: Dependency Injection in crisp and clear syntax
|
|
64
64
|
test_files: []
|