tucana 0.0.22 → 0.0.24
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
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 6664a3cfd854de08a358bf0ec2058697b0da5b3a20f4f51a9feab9bb12b96ab7
|
4
|
+
data.tar.gz: 0b298833866630309a3c4bd16f177766e4e22272fd09c9297805eead7c744ca0
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 47edaabc1906165d9323a2923b476c78d10c1c56eaef87306c300419d4216f0946baaf10efd5e96ecb070f7311558b79c577fa4bfeaf5f9445b2a953e10f77c8
|
7
|
+
data.tar.gz: ce1ad5ac633162733e0d6b49c625e2c1bfedf5455dd74dc1cf7303219bbbf0949dcb825ea33e920d20f08f5b6f7d4523384a49a9a171ad001bce580b9478547b
|
@@ -5,12 +5,11 @@
|
|
5
5
|
require 'google/protobuf'
|
6
6
|
|
7
7
|
require_relative '../shared/shared.translation_pb'
|
8
|
-
require_relative '../shared/shared.data_type_pb'
|
9
8
|
require_relative '../shared/shared.struct_pb'
|
10
9
|
require_relative '../shared/shared.flow_pb'
|
11
10
|
|
12
11
|
|
13
|
-
descriptor_data = "\n\x1cshared.flow_definition.proto\x12\x06shared\x1a\x18shared.translation.proto\x1a\
|
12
|
+
descriptor_data = "\n\x1cshared.flow_definition.proto\x12\x06shared\x1a\x18shared.translation.proto\x1a\x13shared.struct.proto\x1a\x11shared.flow.proto\"\xa6\x02\n\x08\x46lowType\x12\x12\n\nidentifier\x18\x01 \x01(\t\x12)\n\x08settings\x18\x02 \x03(\x0b\x32\x17.shared.FlowTypeSetting\x12\"\n\x15input_type_identifier\x18\x03 \x01(\tH\x00\x88\x01\x01\x12#\n\x16return_type_identifier\x18\x04 \x01(\tH\x01\x88\x01\x01\x12\x10\n\x08\x65\x64itable\x18\x05 \x01(\x08\x12!\n\x04name\x18\x06 \x03(\x0b\x32\x13.shared.Translation\x12(\n\x0b\x64\x65scription\x18\x07 \x03(\x0b\x32\x13.shared.TranslationB\x18\n\x16_input_type_identifierB\x19\n\x17_return_type_identifier\"\xdd\x01\n\x0f\x46lowTypeSetting\x12\x12\n\nidentifier\x18\x01 \x01(\t\x12\x0e\n\x06unique\x18\x02 \x01(\x08\x12\x1c\n\x14\x64\x61ta_type_identifier\x18\x03 \x01(\t\x12)\n\rdefault_value\x18\x04 \x01(\x0b\x32\r.shared.ValueH\x00\x88\x01\x01\x12!\n\x04name\x18\x05 \x03(\x0b\x32\x13.shared.Translation\x12(\n\x0b\x64\x65scription\x18\x06 \x03(\x0b\x32\x13.shared.TranslationB\x10\n\x0e_default_valueB\x11\xea\x02\x0eTucana::Sharedb\x06proto3"
|
14
13
|
|
15
14
|
pool = Google::Protobuf::DescriptorPool.generated_pool
|
16
15
|
pool.add_serialized_file(descriptor_data)
|
@@ -18,7 +17,6 @@ pool.add_serialized_file(descriptor_data)
|
|
18
17
|
module Tucana
|
19
18
|
module Shared
|
20
19
|
FlowType = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("shared.FlowType").msgclass
|
21
|
-
|
22
|
-
FlowDefinition = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("shared.FlowDefinition").msgclass
|
20
|
+
FlowTypeSetting = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("shared.FlowTypeSetting").msgclass
|
23
21
|
end
|
24
22
|
end
|
@@ -8,7 +8,7 @@ require_relative '../shared/shared.struct_pb'
|
|
8
8
|
require_relative '../shared/shared.data_type_pb'
|
9
9
|
|
10
10
|
|
11
|
-
descriptor_data = "\n\x11shared.flow.proto\x12\x06shared\x1a\x13shared.struct.proto\x1a\x16shared.data_type.proto\"\xb1\x02\n\x04\x46low\x12\x0f\n\x07\x66low_id\x18\x01 \x01(\x03\x12\x12\n\nproject_id\x18\x02 \x01(\x03\x12\x0c\n\x04type\x18\x03 \x01(\t\x12$\n\ndata_types\x18\x04 \x03(\x0b\x32\x10.shared.DataType\x12\"\n\x15input_type_identifier\x18\x05 \x01(\tH\x00\x88\x01\x01\x12#\n\x16return_type_identifier\x18\x06 \x01(\tH\x01\x88\x01\x01\x12%\n\x08settings\x18\x07 \x03(\x0b\x32\x13.shared.FlowSetting\x12+\n\rstarting_node\x18\x08 \x01(\x0b\x32\x14.shared.NodeFunctionB\x18\n\x16_input_type_identifierB\x19\n\x17_return_type_identifier\"`\n\x0b\x46lowSetting\x12\x31\n\ndefinition\x18\x01 \x01(\x0b\x32\x1d.shared.FlowSettingDefinition\x12\x1e\n\x06object\x18\x02 \x01(\x0b\x32\x0e.shared.Struct\"0\n\x15\x46lowSettingDefinition\x12\n\n\x02id\x18\x01 \x01(\t\x12\x0b\n\x03key\x18\x02 \x01(\t\"\xa9\x01\n\x0cNodeFunction\x12\x32\n\ndefinition\x18\x01 \x01(\x0b\x32\x1e.shared.NodeFunctionDefinition\x12)\n\nparameters\x18\x02 \x03(\x0b\x32\x15.shared.NodeParameter\x12,\n\tnext_node\x18\x03 \x01(\x0b\x32\x14.shared.NodeFunctionH\x00\x88\x01\x01\x42\x0c\n\n_next_node\"\xd8\x01\n\rNodeParameter\x12\x33\n\ndefinition\x18\x01 \x01(\x0b\x32\x1f.shared.NodeParameterDefinition\x12&\n\rliteral_value\x18\x02 \x01(\x0b\x32\r.shared.ValueH\x00\x12\x31\n\x0freference_value\x18\x03 \x01(\x0b\x32\x16.shared.ReferenceValueH\x00\x12.\n\x0e\x66unction_value\x18\x04 \x01(\x0b\x32\x14.shared.NodeFunctionH\x00\x42\x07\n\x05value\"\
|
11
|
+
descriptor_data = "\n\x11shared.flow.proto\x12\x06shared\x1a\x13shared.struct.proto\x1a\x16shared.data_type.proto\"\xb1\x02\n\x04\x46low\x12\x0f\n\x07\x66low_id\x18\x01 \x01(\x03\x12\x12\n\nproject_id\x18\x02 \x01(\x03\x12\x0c\n\x04type\x18\x03 \x01(\t\x12$\n\ndata_types\x18\x04 \x03(\x0b\x32\x10.shared.DataType\x12\"\n\x15input_type_identifier\x18\x05 \x01(\tH\x00\x88\x01\x01\x12#\n\x16return_type_identifier\x18\x06 \x01(\tH\x01\x88\x01\x01\x12%\n\x08settings\x18\x07 \x03(\x0b\x32\x13.shared.FlowSetting\x12+\n\rstarting_node\x18\x08 \x01(\x0b\x32\x14.shared.NodeFunctionB\x18\n\x16_input_type_identifierB\x19\n\x17_return_type_identifier\"`\n\x0b\x46lowSetting\x12\x31\n\ndefinition\x18\x01 \x01(\x0b\x32\x1d.shared.FlowSettingDefinition\x12\x1e\n\x06object\x18\x02 \x01(\x0b\x32\x0e.shared.Struct\"0\n\x15\x46lowSettingDefinition\x12\n\n\x02id\x18\x01 \x01(\t\x12\x0b\n\x03key\x18\x02 \x01(\t\"\xa9\x01\n\x0cNodeFunction\x12\x32\n\ndefinition\x18\x01 \x01(\x0b\x32\x1e.shared.NodeFunctionDefinition\x12)\n\nparameters\x18\x02 \x03(\x0b\x32\x15.shared.NodeParameter\x12,\n\tnext_node\x18\x03 \x01(\x0b\x32\x14.shared.NodeFunctionH\x00\x88\x01\x01\x42\x0c\n\n_next_node\"\xd8\x01\n\rNodeParameter\x12\x33\n\ndefinition\x18\x01 \x01(\x0b\x32\x1f.shared.NodeParameterDefinition\x12&\n\rliteral_value\x18\x02 \x01(\x0b\x32\r.shared.ValueH\x00\x12\x31\n\x0freference_value\x18\x03 \x01(\x0b\x32\x16.shared.ReferenceValueH\x00\x12.\n\x0e\x66unction_value\x18\x04 \x01(\x0b\x32\x14.shared.NodeFunctionH\x00\x42\x07\n\x05value\"\x97\x01\n\x0eReferenceValue\x12\x17\n\x0ftype_identifier\x18\x01 \x01(\t\x12\x15\n\rprimary_level\x18\x02 \x01(\x05\x12\x17\n\x0fsecondary_level\x18\x03 \x01(\x05\x12\x1b\n\x0etertiary_level\x18\x04 \x01(\x05H\x00\x88\x01\x01\x12\x0c\n\x04path\x18\x05 \x01(\tB\x11\n\x0f_tertiary_level\"M\n\x17NodeParameterDefinition\x12\x14\n\x0cparameter_id\x18\x01 \x01(\t\x12\x1c\n\x14runtime_parameter_id\x18\x02 \x01(\t\"J\n\x16NodeFunctionDefinition\x12\x13\n\x0b\x66unction_id\x18\x01 \x01(\t\x12\x1b\n\x13runtime_function_id\x18\x02 \x01(\t\"$\n\x05\x46lows\x12\x1b\n\x05\x66lows\x18\x01 \x03(\x0b\x32\x0c.shared.FlowB\x11\xea\x02\x0eTucana::Sharedb\x06proto3"
|
12
12
|
|
13
13
|
pool = Google::Protobuf::DescriptorPool.generated_pool
|
14
14
|
pool.add_serialized_file(descriptor_data)
|
@@ -9,6 +9,23 @@ module Tucana
|
|
9
9
|
self.config
|
10
10
|
end
|
11
11
|
|
12
|
+
def rule_config
|
13
|
+
case variant
|
14
|
+
when :contains_key
|
15
|
+
self.contains_key
|
16
|
+
when :contains_type
|
17
|
+
self.contains_type
|
18
|
+
when :item_of_collection
|
19
|
+
self.item_of_collection
|
20
|
+
when :number_range
|
21
|
+
self.number_range
|
22
|
+
when :regex
|
23
|
+
self.regex
|
24
|
+
else
|
25
|
+
raise UnexpectedRuleType, "Unknown rule type #{variant}"
|
26
|
+
end
|
27
|
+
end
|
28
|
+
|
12
29
|
def create(variant, config)
|
13
30
|
case variant
|
14
31
|
when :contains_key
|
@@ -16,7 +33,7 @@ module Tucana
|
|
16
33
|
when :contains_type
|
17
34
|
self.contains_type = DataTypeContainsTypeRuleConfig.new(config)
|
18
35
|
when :item_of_collection
|
19
|
-
self.item_of_collection = DataTypeItemOfCollectionRuleConfig.
|
36
|
+
self.item_of_collection = DataTypeItemOfCollectionRuleConfig.from_hash(config)
|
20
37
|
when :number_range
|
21
38
|
self.number_range = DataTypeNumberRangeRuleConfig.new(config)
|
22
39
|
when :regex
|
@@ -32,5 +49,52 @@ module Tucana
|
|
32
49
|
self.new.create(variant, config)
|
33
50
|
end
|
34
51
|
end
|
52
|
+
|
53
|
+
DataTypeContainsKeyRuleConfig.class_eval do
|
54
|
+
def to_h
|
55
|
+
{
|
56
|
+
key: self.key,
|
57
|
+
data_type_identifier: self.data_type_identifier,
|
58
|
+
}
|
59
|
+
end
|
60
|
+
end
|
61
|
+
|
62
|
+
DataTypeContainsTypeRuleConfig.class_eval do
|
63
|
+
def to_h
|
64
|
+
{
|
65
|
+
data_type_identifier: self.data_type_identifier,
|
66
|
+
}
|
67
|
+
end
|
68
|
+
end
|
69
|
+
|
70
|
+
DataTypeItemOfCollectionRuleConfig.class_eval do
|
71
|
+
def to_h
|
72
|
+
{
|
73
|
+
items: self.items.map { |item| item.to_ruby(true) },
|
74
|
+
}
|
75
|
+
end
|
76
|
+
|
77
|
+
def self.from_hash(hash)
|
78
|
+
new(items: hash.fetch(:items).map { |item| Value.from_ruby(item) })
|
79
|
+
end
|
80
|
+
end
|
81
|
+
|
82
|
+
DataTypeNumberRangeRuleConfig.class_eval do
|
83
|
+
def to_h
|
84
|
+
{
|
85
|
+
from: self.from,
|
86
|
+
to: self.to,
|
87
|
+
steps: self.steps,
|
88
|
+
}
|
89
|
+
end
|
90
|
+
end
|
91
|
+
|
92
|
+
DataTypeRegexRuleConfig.class_eval do
|
93
|
+
def to_h
|
94
|
+
{
|
95
|
+
pattern: self.pattern,
|
96
|
+
}
|
97
|
+
end
|
98
|
+
end
|
35
99
|
end
|
36
100
|
end
|
data/lib/tucana/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: tucana
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.24
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Niklas van Schrick
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2025-
|
11
|
+
date: 2025-05-06 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: grpc
|