foobara 0.0.54 → 0.0.55
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +6 -0
- data/projects/builtin_types/lib/foobara/builtin_types.rb +1 -0
- data/projects/command_connectors/src/command_connector.rb +5 -4
- data/projects/manifest/src/foobara/manifest/domain.rb +3 -3
- data/projects/manifest/src/foobara/manifest/type.rb +15 -32
- data/projects/types/src/type.rb +7 -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: 78bd1547b990baf3ef2d1210747e7c9ea2943a3136fd39d38f399f0a90f73aa6
|
4
|
+
data.tar.gz: b75e8291b79c05de501de15ed64c62df2ce26de2f7e13fcde95dd6c9cd445430
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 3d49b8eef5f2823c475b2227e1f05c844327837ff8eb0545ca62b46aa2f122413d4d283d3e6fc7a8618e8469c98ab7bfb6b77f5a4fa7131743cffa0d398309a3
|
7
|
+
data.tar.gz: ca9194b01789d6ac289322a919b56ac9e9074a838524509d0759251d4c62839942b56aac0d6c59f3018d89a67fa68aa9421b5c28922b1c4c978e3060432aeb32
|
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,9 @@
|
|
1
|
+
## [0.0.55] - 2025-02-01
|
2
|
+
|
3
|
+
- Mark types as builtin directly and add builtin flag to manifest
|
4
|
+
- Pass Request#inputs through to Describe and other commands
|
5
|
+
- Fix bugs around what is considered a manifest entity/model
|
6
|
+
|
1
7
|
## [0.0.54] - 2025-01-31
|
2
8
|
|
3
9
|
- Change interface of base_type_for_manifest
|
@@ -139,7 +139,8 @@ module Foobara
|
|
139
139
|
command_class = find_builtin_command_class("Describe")
|
140
140
|
full_command_name = command_class.full_command_name
|
141
141
|
|
142
|
-
inputs =
|
142
|
+
inputs = request.inputs.merge(manifestable:, request:)
|
143
|
+
|
143
144
|
transformed_command_class = transformed_command_from_name(full_command_name) ||
|
144
145
|
transform_command_class(command_class)
|
145
146
|
when "describe_command"
|
@@ -154,7 +155,7 @@ module Foobara
|
|
154
155
|
command_class = find_builtin_command_class("Describe")
|
155
156
|
full_command_name = command_class.full_command_name
|
156
157
|
|
157
|
-
inputs =
|
158
|
+
inputs = request.inputs.merge(manifestable: transformed_command_class, request:)
|
158
159
|
transformed_command_class = transformed_command_from_name(full_command_name) ||
|
159
160
|
transform_command_class(command_class)
|
160
161
|
when "describe_type"
|
@@ -169,14 +170,14 @@ module Foobara
|
|
169
170
|
command_class = find_builtin_command_class("Describe")
|
170
171
|
full_command_name = command_class.full_command_name
|
171
172
|
|
172
|
-
inputs =
|
173
|
+
inputs = request.inputs.merge(manifestable: type, request:)
|
173
174
|
transformed_command_class = transformed_command_from_name(full_command_name) ||
|
174
175
|
transform_command_class(command_class)
|
175
176
|
when "manifest"
|
176
177
|
command_class = find_builtin_command_class("Describe")
|
177
178
|
full_command_name = command_class.full_command_name
|
178
179
|
|
179
|
-
inputs =
|
180
|
+
inputs = request.inputs.merge(manifestable: self, request:)
|
180
181
|
transformed_command_class = transformed_command_from_name(full_command_name) ||
|
181
182
|
transform_command_class(command_class)
|
182
183
|
when "ping"
|
@@ -20,15 +20,15 @@ module Foobara
|
|
20
20
|
end
|
21
21
|
|
22
22
|
def detached_entities
|
23
|
-
@detached_entities ||=
|
23
|
+
@detached_entities ||= models.select(&:detached_entity?)
|
24
24
|
end
|
25
25
|
|
26
26
|
def entities
|
27
|
-
@entities ||=
|
27
|
+
@entities ||= detached_entities.select(&:entity?)
|
28
28
|
end
|
29
29
|
|
30
30
|
def models
|
31
|
-
@models ||= types.select(&:model?)
|
31
|
+
@models ||= types.select(&:model?).reject(&:builtin?)
|
32
32
|
end
|
33
33
|
|
34
34
|
def global?
|
@@ -27,44 +27,15 @@ module Foobara
|
|
27
27
|
end
|
28
28
|
|
29
29
|
def entity?
|
30
|
-
|
31
|
-
|
32
|
-
while type
|
33
|
-
return true if type.reference.to_sym == :entity
|
34
|
-
|
35
|
-
type = type.base_type
|
36
|
-
end
|
37
|
-
|
38
|
-
false
|
30
|
+
!builtin? && extends_symbol?(:entity)
|
39
31
|
end
|
40
32
|
|
41
33
|
def detached_entity?
|
42
|
-
|
43
|
-
|
44
|
-
type = base_type
|
45
|
-
|
46
|
-
while type
|
47
|
-
return true if type.reference.to_sym == :detached_entity
|
48
|
-
|
49
|
-
type = type.base_type
|
50
|
-
end
|
51
|
-
|
52
|
-
false
|
34
|
+
!builtin? && extends_symbol?(:detached_entity)
|
53
35
|
end
|
54
36
|
|
55
37
|
def model?
|
56
|
-
|
57
|
-
return false if %w[entity detached_entity].include?(reference)
|
58
|
-
|
59
|
-
type = base_type
|
60
|
-
|
61
|
-
while type
|
62
|
-
return true if type.reference.to_sym == :model
|
63
|
-
|
64
|
-
type = type.base_type
|
65
|
-
end
|
66
|
-
|
67
|
-
false
|
38
|
+
!builtin? && extends_symbol?(:model)
|
68
39
|
end
|
69
40
|
|
70
41
|
def base_type
|
@@ -102,6 +73,18 @@ module Foobara
|
|
102
73
|
def builtin?
|
103
74
|
BuiltinTypes.builtin_reference?(reference)
|
104
75
|
end
|
76
|
+
|
77
|
+
def extends_symbol?(symbol)
|
78
|
+
type = base_type
|
79
|
+
|
80
|
+
while type
|
81
|
+
return true if type.reference.to_sym == symbol
|
82
|
+
|
83
|
+
type = type.base_type
|
84
|
+
end
|
85
|
+
|
86
|
+
false
|
87
|
+
end
|
105
88
|
end
|
106
89
|
end
|
107
90
|
end
|
data/projects/types/src/type.rb
CHANGED
@@ -22,6 +22,7 @@ module Foobara
|
|
22
22
|
:structure_count,
|
23
23
|
:element_types,
|
24
24
|
:element_type,
|
25
|
+
:is_builtin,
|
25
26
|
:raw_declaration_data,
|
26
27
|
:name,
|
27
28
|
:target_classes,
|
@@ -322,7 +323,8 @@ module Foobara
|
|
322
323
|
target_classes: target_classes.map(&:name).sort,
|
323
324
|
declaration_data:,
|
324
325
|
types_depended_on: types.sort,
|
325
|
-
possible_errors: possible_errors_manifests
|
326
|
+
possible_errors: possible_errors_manifests,
|
327
|
+
builtin: builtin?
|
326
328
|
).merge(description:, base_type: base_type_for_manifest&.full_type_name&.to_sym)
|
327
329
|
|
328
330
|
h.merge!(
|
@@ -340,6 +342,10 @@ module Foobara
|
|
340
342
|
super.merge(h)
|
341
343
|
end
|
342
344
|
|
345
|
+
def builtin?
|
346
|
+
is_builtin
|
347
|
+
end
|
348
|
+
|
343
349
|
def base_type_for_manifest
|
344
350
|
base_type
|
345
351
|
end
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: foobara
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.55
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Miles Georgi
|
8
8
|
bindir: bin
|
9
9
|
cert_chain: []
|
10
|
-
date: 2025-
|
10
|
+
date: 2025-02-02 00:00:00.000000000 Z
|
11
11
|
dependencies:
|
12
12
|
- !ruby/object:Gem::Dependency
|
13
13
|
name: bigdecimal
|