foobara 0.0.42 → 0.0.44
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.ruby-version +1 -1
- data/CHANGELOG.md +5 -0
- data/README.md +2 -0
- data/projects/builtin_types/src/builtin_types.rb +3 -2
- data/projects/callback/src/block/concerns/keyword_argumentable_block.rb +1 -2
- data/projects/command_connectors/src/command_connector.rb +1 -1
- data/projects/common/src/data_path.rb +1 -5
- data/projects/common/src/error_key.rb +1 -5
- data/projects/type_declarations/src/typed_transformer.rb +2 -1
- metadata +17 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b60c0cc3d83cf48f2ddf1f1e894780ac6734fbc900f7eed95a2330b22e3be91a
|
4
|
+
data.tar.gz: 33d2d647bbc84b7452dc0bd49d63bd011bba7ee1c7efec41a927dc31bdaf5e9c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 70a2aad2daf712a50b363cf909a203e393b76ea5e1591d36800030df1dc338eabfeceb233e45dc9a08d2174077c31f389c96b58eb703c6b1666c0a7eff71fc44
|
7
|
+
data.tar.gz: 13708b13ba186780158224396be937ebdbceda0dd8ff0ac8d07ede3b35dda71013a14413f2548b2891d1ef1a7b54333b0d0383322e6fd3e08a5786d2f6ac1be0
|
data/.ruby-version
CHANGED
@@ -1 +1 @@
|
|
1
|
-
3.
|
1
|
+
3.4.1
|
data/CHANGELOG.md
CHANGED
data/README.md
CHANGED
@@ -78,6 +78,8 @@ You can watch a video that gives a good overview of what Foobara is and its goal
|
|
78
78
|
* Engineers can spend more time operating within a specific mental model at a time instead of
|
79
79
|
multiple mental models all at once.
|
80
80
|
|
81
|
+
![Command-centric + Discoverability](https://github.com/foobara/examples/blob/main/images/cc-plus-disc-small.jpg?raw=true)
|
82
|
+
|
81
83
|
## Other features for helping with Domain complexity
|
82
84
|
|
83
85
|
* Domains and Organizations
|
@@ -13,13 +13,14 @@ module Foobara
|
|
13
13
|
type_symbol,
|
14
14
|
base_type,
|
15
15
|
target_classes = const_get("::#{Util.classify(type_symbol)}"),
|
16
|
-
description: "Built-in #{type_symbol} type"
|
16
|
+
description: "Built-in #{type_symbol} type",
|
17
|
+
type_module: nil
|
17
18
|
)
|
18
19
|
declaration_data = { type: type_symbol.to_sym }
|
19
20
|
|
20
21
|
module_symbol = Util.classify(type_symbol).to_sym
|
21
22
|
|
22
|
-
builtin_type_module = const_get(module_symbol, false)
|
23
|
+
builtin_type_module = type_module || const_get(module_symbol, false)
|
23
24
|
|
24
25
|
processor_classes_requiring_type = []
|
25
26
|
|
@@ -6,8 +6,7 @@ module Foobara
|
|
6
6
|
def to_proc
|
7
7
|
@to_proc ||= if has_keyword_args?
|
8
8
|
proc do |*args, &block|
|
9
|
-
|
10
|
-
original_block.call(**keyword_args, &block)
|
9
|
+
original_block.call(**args.reduce(:merge), &block)
|
11
10
|
end
|
12
11
|
else
|
13
12
|
original_block
|
@@ -261,7 +261,7 @@ module Foobara
|
|
261
261
|
def process_delayed_connections
|
262
262
|
delayed_connections.each_pair do |registerable_name, arg_hash|
|
263
263
|
args = arg_hash[:args]
|
264
|
-
opts = arg_hash[:opts]
|
264
|
+
opts = arg_hash[:opts]
|
265
265
|
|
266
266
|
const = Object.const_get(registerable_name)
|
267
267
|
connect(const, *args, **opts)
|
@@ -211,8 +211,6 @@ module Foobara
|
|
211
211
|
end
|
212
212
|
|
213
213
|
def normalize(key_parts)
|
214
|
-
return nil if key_parts.nil?
|
215
|
-
|
216
214
|
case key_parts
|
217
215
|
when Array
|
218
216
|
key_parts.map do |key_part|
|
@@ -223,9 +221,7 @@ module Foobara
|
|
223
221
|
when Integer
|
224
222
|
key_parts
|
225
223
|
when String
|
226
|
-
if key_parts
|
227
|
-
nil
|
228
|
-
elsif key_parts =~ INDEX_VALUE
|
224
|
+
if key_parts =~ INDEX_VALUE
|
229
225
|
key_parts.to_i
|
230
226
|
else
|
231
227
|
key_parts.to_sym
|
@@ -153,11 +153,7 @@ module Foobara
|
|
153
153
|
when Symbol, Integer
|
154
154
|
key_parts
|
155
155
|
when String
|
156
|
-
|
157
|
-
nil
|
158
|
-
else
|
159
|
-
key_parts.to_sym
|
160
|
-
end
|
156
|
+
key_parts.to_sym
|
161
157
|
else
|
162
158
|
# :nocov:
|
163
159
|
raise ArgumentError, "expected nil, a symbol, or a string, an integer, or an array of such values "
|
@@ -55,7 +55,9 @@ module Foobara
|
|
55
55
|
# interpret how it goes. This might create some awkwardness or confusion at least when creating one of the
|
56
56
|
# two types of transformer.
|
57
57
|
def type_declaration(_from_type)
|
58
|
+
# :nocov:
|
58
59
|
nil
|
60
|
+
# :nocov:
|
59
61
|
end
|
60
62
|
|
61
63
|
def type(from_type)
|
@@ -66,7 +68,6 @@ module Foobara
|
|
66
68
|
dec
|
67
69
|
else
|
68
70
|
Domain.current.foobara_type_from_declaration(dec)
|
69
|
-
|
70
71
|
end
|
71
72
|
end
|
72
73
|
end
|
metadata
CHANGED
@@ -1,14 +1,28 @@
|
|
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.44
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Miles Georgi
|
8
8
|
bindir: bin
|
9
9
|
cert_chain: []
|
10
|
-
date:
|
10
|
+
date: 2025-01-03 00:00:00.000000000 Z
|
11
11
|
dependencies:
|
12
|
+
- !ruby/object:Gem::Dependency
|
13
|
+
name: bigdecimal
|
14
|
+
requirement: !ruby/object:Gem::Requirement
|
15
|
+
requirements:
|
16
|
+
- - ">="
|
17
|
+
- !ruby/object:Gem::Version
|
18
|
+
version: '0'
|
19
|
+
type: :runtime
|
20
|
+
prerelease: false
|
21
|
+
version_requirements: !ruby/object:Gem::Requirement
|
22
|
+
requirements:
|
23
|
+
- - ">="
|
24
|
+
- !ruby/object:Gem::Version
|
25
|
+
version: '0'
|
12
26
|
- !ruby/object:Gem::Dependency
|
13
27
|
name: foobara-util
|
14
28
|
requirement: !ruby/object:Gem::Requirement
|
@@ -414,7 +428,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
414
428
|
requirements:
|
415
429
|
- - ">="
|
416
430
|
- !ruby/object:Gem::Version
|
417
|
-
version: 3.
|
431
|
+
version: 3.4.0
|
418
432
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
419
433
|
requirements:
|
420
434
|
- - ">="
|