providers 0.5.0 → 0.6.1
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/dependencies/factory.rb +2 -2
- data/lib/dependencies.rb +2 -7
- data/lib/{dependencies → low}/dependency.rb +4 -3
- data/lib/providers.rb +6 -2
- data/lib/version.rb +1 -1
- metadata +3 -3
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 9ceb15bee535ec5e0935537502a99b985e2c1562021a389e7a44bf9d7b36d72c
|
|
4
|
+
data.tar.gz: 91816b9dd7e12215b5d72462078d7244bd3ed9faaef8011da526570b2770270c
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: c4423a7d88645d178761c0180ddc3b75b3d4f2f15c28d5c2a512c226b896c229b0eade4e6d5c64a66fd21849c61e792c4e4d0236dfa5a7db35513782c797c42f
|
|
7
|
+
data.tar.gz: e1874197801ffef062700b17263abad5441d9b3bdfdea0487fa4789e5a7f5d1de1dc3a9931b1b2ea2612a13f3988ea0b8cd14f0e80387e6014c3ea6cd51c58af
|
data/lib/dependencies/factory.rb
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
|
-
require_relative '../
|
|
3
|
+
require_relative '../low/dependency'
|
|
4
4
|
|
|
5
5
|
module Dependencies
|
|
6
6
|
class Factory
|
|
@@ -17,7 +17,7 @@ module Dependencies
|
|
|
17
17
|
provider_key = dependency
|
|
18
18
|
end
|
|
19
19
|
|
|
20
|
-
class_dependencies << (Dependency.new(var_name: dependency) | provider_key)
|
|
20
|
+
class_dependencies << (::Low::Dependency.new(var_name: dependency) | provider_key)
|
|
21
21
|
end
|
|
22
22
|
|
|
23
23
|
class_dependencies
|
data/lib/dependencies.rb
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
3
|
require_relative 'config/config'
|
|
4
|
-
require_relative 'dependencies/dependency'
|
|
5
4
|
require_relative 'dependencies/factory'
|
|
6
5
|
require_relative 'dependencies/repository'
|
|
7
6
|
require_relative 'providers'
|
|
@@ -46,12 +45,8 @@ module Dependencies
|
|
|
46
45
|
end
|
|
47
46
|
|
|
48
47
|
def define_readers(dependencies, klass)
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
klass.define_method(var_name) do
|
|
53
|
-
instance_variable_get("@#{var_name}")
|
|
54
|
-
end
|
|
48
|
+
klass.class_eval do
|
|
49
|
+
attr_reader(*dependencies.map { |d| Dependencies.name_from_namespace(d.var_name).to_sym })
|
|
55
50
|
end
|
|
56
51
|
end
|
|
57
52
|
|
|
@@ -2,8 +2,9 @@
|
|
|
2
2
|
|
|
3
3
|
require 'expressions'
|
|
4
4
|
|
|
5
|
-
|
|
6
|
-
|
|
5
|
+
# Used within LowType's namespace.
|
|
6
|
+
module Low
|
|
7
|
+
# Placed as a default value in a constructor param.
|
|
7
8
|
class Dependency < ::Expressions::Expression
|
|
8
9
|
attr_reader :provider_key, :var_name
|
|
9
10
|
|
|
@@ -23,7 +24,7 @@ module Dependencies
|
|
|
23
24
|
Providers[@provider_key]
|
|
24
25
|
end
|
|
25
26
|
|
|
26
|
-
# Ignore LowType's validation on arguments of type
|
|
27
|
+
# Ignore LowType's validation on arguments of this type.
|
|
27
28
|
def validate!(value:, proxy:); end
|
|
28
29
|
|
|
29
30
|
private
|
data/lib/providers.rb
CHANGED
|
@@ -1,13 +1,17 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
|
+
require_relative 'low/dependency'
|
|
3
4
|
require_relative 'providers/provider'
|
|
5
|
+
require_relative 'dependencies'
|
|
4
6
|
|
|
5
7
|
module Providers
|
|
6
8
|
class MissingProviderError < StandardError; end
|
|
7
9
|
|
|
8
10
|
class << self
|
|
9
|
-
def define(key, &block)
|
|
10
|
-
|
|
11
|
+
def define(key, eager: false, receiver: self, &block)
|
|
12
|
+
provider = Provider.new(key:, &block)
|
|
13
|
+
provider.result if eager
|
|
14
|
+
providers[key] = provider
|
|
11
15
|
end
|
|
12
16
|
|
|
13
17
|
def providers
|
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.6.1
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- maedi
|
|
@@ -33,9 +33,9 @@ extra_rdoc_files: []
|
|
|
33
33
|
files:
|
|
34
34
|
- lib/config/config.rb
|
|
35
35
|
- lib/dependencies.rb
|
|
36
|
-
- lib/dependencies/dependency.rb
|
|
37
36
|
- lib/dependencies/factory.rb
|
|
38
37
|
- lib/dependencies/repository.rb
|
|
38
|
+
- lib/low/dependency.rb
|
|
39
39
|
- lib/providers.rb
|
|
40
40
|
- lib/providers/provider.rb
|
|
41
41
|
- lib/version.rb
|
|
@@ -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.6
|
|
62
62
|
specification_version: 4
|
|
63
63
|
summary: Dependency Injection in crisp and clear syntax
|
|
64
64
|
test_files: []
|