hub_kernel 0.20.0 → 0.21.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/README.md +2 -1
- data/lib/hub_kernel/crossings.rb +7 -4
- data/lib/hub_kernel/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 5abfdc116c5675e15edad5aa0d08ee0ebf20d123a1cdc0f28f8c5776e5253cb7
|
|
4
|
+
data.tar.gz: 6a2917d8cdfbf55633baa557d51ecb7a77c0b3b84b3fe3db3db42ce2d41f6105
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: def104f8e708974248c0b199bfee92b80ba04a571f3db6de7080361ca26be1a9a4d98fabf91cd4eb99adbd2d0291915a9329c79199373f4f9ec81cf90bf91750
|
|
7
|
+
data.tar.gz: 7c47c64d8f1f4a5e73667b5c5f00f779c33d8da2438f6035bed67cbee572a4ae5068c0cad23c2063249862f30a64fc73bacbb2b8659db5e750dee3fc9bf8c34d
|
data/README.md
CHANGED
|
@@ -255,7 +255,8 @@ end
|
|
|
255
255
|
- The host's layer may name any hub's interface module, and a hub naming another hub's
|
|
256
256
|
interface module is a crossing. A hub's interface module is found in its folder, as the
|
|
257
257
|
module there that extends `HubKernel::Ports` or `HubKernel::Exposes`, so a hub in a
|
|
258
|
-
folder needs no entry in `interfaces`.
|
|
258
|
+
folder needs no entry in `interfaces`. A folder may hold several such modules, such as
|
|
259
|
+
the modules of hubs merged into one area, and every one of them counts.
|
|
259
260
|
- The test fails with "The crossing check found no files to read" when none of the files
|
|
260
261
|
it read belongs to a hub or the host's layer, so a wrong `files:` pattern or an empty
|
|
261
262
|
map does not pass unnoticed.
|
data/lib/hub_kernel/crossings.rb
CHANGED
|
@@ -11,6 +11,7 @@ module HubKernel
|
|
|
11
11
|
@shared = shared
|
|
12
12
|
@host_layer = host_layer
|
|
13
13
|
@interfaces = interfaces
|
|
14
|
+
@folder_interfaces = {}
|
|
14
15
|
@namespaces = namespaces
|
|
15
16
|
end
|
|
16
17
|
|
|
@@ -28,7 +29,7 @@ module HubKernel
|
|
|
28
29
|
sources.each do |path, source|
|
|
29
30
|
next unless source.match?(HUB_MODULE) && path.match?(HubFolders::CODE_PATH)
|
|
30
31
|
|
|
31
|
-
@
|
|
32
|
+
@folder_interfaces[HubFolders.class_of(path)] = HubFolders.hub_of(path)
|
|
32
33
|
end
|
|
33
34
|
self
|
|
34
35
|
end
|
|
@@ -46,7 +47,7 @@ module HubKernel
|
|
|
46
47
|
|
|
47
48
|
def listed_in_their_folders = @owners.flat_map { |hub, classes| classes.select { |name| @folder_classes[name] == hub } }
|
|
48
49
|
|
|
49
|
-
def folders_without_hub_module = @folder_classes.values.uniq.reject { |hub| @interfaces.key?(hub) }.map { |hub| HubFolders.folder(hub) }
|
|
50
|
+
def folders_without_hub_module = @folder_classes.values.uniq.reject { |hub| @interfaces.key?(hub) || @folder_interfaces.value?(hub) }.map { |hub| HubFolders.folder(hub) }
|
|
50
51
|
|
|
51
52
|
def missing_classes = @owners.values.flatten.uniq.reject { |name| @folder_classes.key?(name) || name.safe_constantize }
|
|
52
53
|
|
|
@@ -57,7 +58,7 @@ module HubKernel
|
|
|
57
58
|
def crossing?(name, hub)
|
|
58
59
|
return false if @shared.include?(name) || owner_of(name) == hub
|
|
59
60
|
|
|
60
|
-
!(hub == @host_layer &&
|
|
61
|
+
!(hub == @host_layer && interface?(name))
|
|
61
62
|
end
|
|
62
63
|
|
|
63
64
|
def owned_class_in(name)
|
|
@@ -71,7 +72,9 @@ module HubKernel
|
|
|
71
72
|
space && "#{space}::#{name.delete_prefix("#{space}::").split("::").first}"
|
|
72
73
|
end
|
|
73
74
|
|
|
74
|
-
def
|
|
75
|
+
def interface?(name) = @interfaces.value?(name) || @folder_interfaces.key?(name)
|
|
76
|
+
|
|
77
|
+
def listed_owner_of(class_name) = @interfaces.key(class_name) || @folder_interfaces[class_name] || @folder_classes[class_name] || @owners.find { |_hub, classes| classes.include?(class_name) }&.first
|
|
75
78
|
|
|
76
79
|
def owner_of(class_name) = listed_owner_of(class_name) || owner_of_namespace(class_name)
|
|
77
80
|
|
data/lib/hub_kernel/version.rb
CHANGED