tucana 0.0.54 → 0.0.55
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/tucana/generated/aquila/aquila.action_pb.rb +2 -1
- data/lib/tucana/generated/shared/shared.data_type_pb.rb +1 -14
- data/lib/tucana/generated/shared/shared.flow_pb.rb +1 -1
- data/lib/tucana/generated/shared/shared.runtime_function_pb.rb +1 -2
- data/lib/tucana/shared/shared.data_type.rb +0 -213
- data/lib/tucana/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: 0a6c959d7371b31819b032e9c87285df5d1ab36ea6729defb20ac6f9674aad9c
|
|
4
|
+
data.tar.gz: fa466fd26962d7ed19726d555b0769e472d7badcbbefdf0b398db98725bd7156
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 58cebaa1f6046af67d2e669e381dafc52c7de600602fcb61d579b7f9b42d38b49a6ad382dab9adb17b405456c0de0c7dd2a395be7387fe42ac34eabdfbcc674b
|
|
7
|
+
data.tar.gz: 988e9a43b8a03e52a3bb5ce9a8cc0fa453ffcf305a18a47ca169645ec1b01a0c06475abeb66e52d7a5dd396f3e420091e5c5b7645ed7bf5990296e846b4dce60
|
|
@@ -4,10 +4,11 @@
|
|
|
4
4
|
|
|
5
5
|
require 'google/protobuf'
|
|
6
6
|
|
|
7
|
+
require_relative '../shared/shared.action_configuration_pb'
|
|
7
8
|
require_relative '../shared/shared.struct_pb'
|
|
8
9
|
|
|
9
10
|
|
|
10
|
-
descriptor_data = "\n\x13\x61quila.action.proto\x12\x06\x61quila\x1a\x13shared.struct.proto\";\n\x05\x45vent\x12\x12\n\nevent_type\x18\x01 \x01(\t\x12\x1e\n\x07payload\x18\x02 \x01(\x0b\x32\r.shared.Value\"9\n\x0b\x41\x63tionLogon\x12\x19\n\x11\x61\x63tion_identifier\x18\x01 \x01(\t\x12\x0f\n\x07version\x18\x02 \x01(\t\"q\n\x10\x45xecutionRequest\x12\x1c\n\x14\x65xecution_identifier\x18\x01 \x01(\t\x12\x1b\n\x13\x66unction_identifier\x18\x02 \x01(\t\x12\"\n\nparameters\x18\x03 \x01(\x0b\x32\x0e.shared.Struct\"N\n\x0f\x45xecutionResult\x12\x1c\n\x14\x65xecution_identifier\x18\x01 \x01(\t\x12\x1d\n\x06result\x18\x02 \x01(\x0b\x32\r.shared.Value\"\x8a\x01\n\x0fTransferRequest\x12$\n\x05logon\x18\x01 \x01(\x0b\x32\x13.aquila.ActionLogonH\x00\x12\x1e\n\x05\x65vent\x18\x02 \x01(\x0b\x32\r.aquila.EventH\x00\x12)\n\x06result\x18\x03 \x01(\x0b\x32\x17.aquila.ExecutionResultH\x00\x42\x06\n\x04\x64\x61ta\"
|
|
11
|
+
descriptor_data = "\n\x13\x61quila.action.proto\x12\x06\x61quila\x1a!shared.action_configuration.proto\x1a\x13shared.struct.proto\";\n\x05\x45vent\x12\x12\n\nevent_type\x18\x01 \x01(\t\x12\x1e\n\x07payload\x18\x02 \x01(\x0b\x32\r.shared.Value\"9\n\x0b\x41\x63tionLogon\x12\x19\n\x11\x61\x63tion_identifier\x18\x01 \x01(\t\x12\x0f\n\x07version\x18\x02 \x01(\t\"q\n\x10\x45xecutionRequest\x12\x1c\n\x14\x65xecution_identifier\x18\x01 \x01(\t\x12\x1b\n\x13\x66unction_identifier\x18\x02 \x01(\t\x12\"\n\nparameters\x18\x03 \x01(\x0b\x32\x0e.shared.Struct\"N\n\x0f\x45xecutionResult\x12\x1c\n\x14\x65xecution_identifier\x18\x01 \x01(\t\x12\x1d\n\x06result\x18\x02 \x01(\x0b\x32\r.shared.Value\"\x8a\x01\n\x0fTransferRequest\x12$\n\x05logon\x18\x01 \x01(\x0b\x32\x13.aquila.ActionLogonH\x00\x12\x1e\n\x05\x65vent\x18\x02 \x01(\x0b\x32\r.aquila.EventH\x00\x12)\n\x06result\x18\x03 \x01(\x0b\x32\x17.aquila.ExecutionResultH\x00\x42\x06\n\x04\x64\x61ta\"\x88\x01\n\x10TransferResponse\x12-\n\texecution\x18\x01 \x01(\x0b\x32\x18.aquila.ExecutionRequestH\x00\x12=\n\x15\x61\x63tion_configurations\x18\x02 \x01(\x0b\x32\x1c.shared.ActionConfigurationsH\x00\x42\x06\n\x04\x64\x61ta2Z\n\x15\x41\x63tionTransferService\x12\x41\n\x08Transfer\x12\x17.aquila.TransferRequest\x1a\x18.aquila.TransferResponse(\x01\x30\x01\x42\x11\xea\x02\x0eTucana::Aquilab\x06proto3"
|
|
11
12
|
|
|
12
13
|
pool = Google::Protobuf::DescriptorPool.generated_pool
|
|
13
14
|
pool.add_serialized_file(descriptor_data)
|
|
@@ -4,11 +4,10 @@
|
|
|
4
4
|
|
|
5
5
|
require 'google/protobuf'
|
|
6
6
|
|
|
7
|
-
require_relative '../shared/shared.struct_pb'
|
|
8
7
|
require_relative '../shared/shared.translation_pb'
|
|
9
8
|
|
|
10
9
|
|
|
11
|
-
descriptor_data = "\n\x16shared.data_type.proto\x12\x06shared\x1a\
|
|
10
|
+
descriptor_data = "\n\x16shared.data_type.proto\x12\x06shared\x1a\x18shared.translation.proto\"\xc7\x02\n\x12\x44\x65\x66initionDataType\x12\x12\n\nidentifier\x18\x01 \x01(\t\x12!\n\x04name\x18\x02 \x03(\x0b\x32\x13.shared.Translation\x12,\n\x0f\x64isplay_message\x18\x03 \x03(\x0b\x32\x13.shared.Translation\x12\"\n\x05\x61lias\x18\x04 \x03(\x0b\x32\x13.shared.Translation\x12-\n\x05rules\x18\x05 \x03(\x0b\x32\x1e.shared.DefinitionDataTypeRule\x12\x14\n\x0cgeneric_keys\x18\x06 \x03(\t\x12\x11\n\tsignature\x18\x07 \x01(\t\x12$\n\x1clinked_data_type_identifiers\x18\x08 \x03(\t\x12\x0f\n\x07version\x18\t \x01(\t\x12\x19\n\x11\x64\x65\x66inition_source\x18\n \x01(\t\"U\n\x11\x45xecutionDataType\x12\x12\n\nidentifier\x18\x01 \x01(\t\x12,\n\x05rules\x18\x02 \x03(\x0b\x32\x1d.shared.ExecutionDataTypeRule\"\x93\x01\n\x16\x44\x65\x66initionDataTypeRule\x12=\n\x0cnumber_range\x18\x01 \x01(\x0b\x32%.shared.DataTypeNumberRangeRuleConfigH\x00\x12\x30\n\x05regex\x18\x02 \x01(\x0b\x32\x1f.shared.DataTypeRegexRuleConfigH\x00\x42\x08\n\x06\x63onfig\"\x92\x01\n\x15\x45xecutionDataTypeRule\x12=\n\x0cnumber_range\x18\x01 \x01(\x0b\x32%.shared.DataTypeNumberRangeRuleConfigH\x00\x12\x30\n\x05regex\x18\x02 \x01(\x0b\x32\x1f.shared.DataTypeRegexRuleConfigH\x00\x42\x08\n\x06\x63onfig\"W\n\x1d\x44\x61taTypeNumberRangeRuleConfig\x12\x0c\n\x04\x66rom\x18\x01 \x01(\x03\x12\n\n\x02to\x18\x02 \x01(\x03\x12\x12\n\x05steps\x18\x03 \x01(\x03H\x00\x88\x01\x01\x42\x08\n\x06_steps\"*\n\x17\x44\x61taTypeRegexRuleConfig\x12\x0f\n\x07pattern\x18\x01 \x01(\tB\x11\xea\x02\x0eTucana::Sharedb\x06proto3"
|
|
12
11
|
|
|
13
12
|
pool = Google::Protobuf::DescriptorPool.generated_pool
|
|
14
13
|
pool.add_serialized_file(descriptor_data)
|
|
@@ -16,22 +15,10 @@ pool.add_serialized_file(descriptor_data)
|
|
|
16
15
|
module Tucana
|
|
17
16
|
module Shared
|
|
18
17
|
DefinitionDataType = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("shared.DefinitionDataType").msgclass
|
|
19
|
-
DefinitionDataType::Variant = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("shared.DefinitionDataType.Variant").enummodule
|
|
20
18
|
ExecutionDataType = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("shared.ExecutionDataType").msgclass
|
|
21
19
|
DefinitionDataTypeRule = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("shared.DefinitionDataTypeRule").msgclass
|
|
22
20
|
ExecutionDataTypeRule = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("shared.ExecutionDataTypeRule").msgclass
|
|
23
|
-
DataTypeParentTypeRuleConfig = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("shared.DataTypeParentTypeRuleConfig").msgclass
|
|
24
|
-
DataTypeContainsKeyRuleConfig = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("shared.DataTypeContainsKeyRuleConfig").msgclass
|
|
25
|
-
DataTypeContainsTypeRuleConfig = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("shared.DataTypeContainsTypeRuleConfig").msgclass
|
|
26
|
-
DataTypeItemOfCollectionRuleConfig = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("shared.DataTypeItemOfCollectionRuleConfig").msgclass
|
|
27
21
|
DataTypeNumberRangeRuleConfig = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("shared.DataTypeNumberRangeRuleConfig").msgclass
|
|
28
22
|
DataTypeRegexRuleConfig = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("shared.DataTypeRegexRuleConfig").msgclass
|
|
29
|
-
DataTypeInputTypesRuleConfig = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("shared.DataTypeInputTypesRuleConfig").msgclass
|
|
30
|
-
DataTypeInputTypesRuleConfig::DataTypeInputType = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("shared.DataTypeInputTypesRuleConfig.DataTypeInputType").msgclass
|
|
31
|
-
DataTypeReturnTypeRuleConfig = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("shared.DataTypeReturnTypeRuleConfig").msgclass
|
|
32
|
-
DataTypeIdentifier = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("shared.DataTypeIdentifier").msgclass
|
|
33
|
-
GenericType = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("shared.GenericType").msgclass
|
|
34
|
-
GenericMapper = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("shared.GenericMapper").msgclass
|
|
35
|
-
GenericMapper::GenericCombinationStrategy = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("shared.GenericMapper.GenericCombinationStrategy").enummodule
|
|
36
23
|
end
|
|
37
24
|
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\"\
|
|
11
|
+
descriptor_data = "\n\x11shared.flow.proto\x12\x06shared\x1a\x13shared.struct.proto\x1a\x16shared.data_type.proto\"\xf9\x02\n\x0eValidationFlow\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\x19.shared.ExecutionDataType\x12\x17\n\ninput_type\x18\x05 \x01(\tH\x00\x88\x01\x01\x12\x18\n\x0breturn_type\x18\x06 \x01(\tH\x01\x88\x01\x01\x12%\n\x08settings\x18\x07 \x03(\x0b\x32\x13.shared.FlowSetting\x12\x18\n\x10starting_node_id\x18\x08 \x01(\x03\x12,\n\x0enode_functions\x18\t \x03(\x0b\x32\x14.shared.NodeFunction\x12\x14\n\x0cproject_slug\x18\n \x01(\t\x12\x1b\n\x0e\x64isable_reason\x18\x0b \x01(\tH\x02\x88\x01\x01\x42\r\n\x0b_input_typeB\x0e\n\x0c_return_typeB\x11\n\x0f_disable_reason\"\xa1\x01\n\rExecutionFlow\x12\x0f\n\x07\x66low_id\x18\x01 \x01(\x03\x12\x18\n\x10starting_node_id\x18\x02 \x01(\x03\x12,\n\x0enode_functions\x18\x04 \x03(\x0b\x32\x14.shared.NodeFunction\x12\'\n\x0binput_value\x18\x03 \x01(\x0b\x32\r.shared.ValueH\x00\x88\x01\x01\x42\x0e\n\x0c_input_value\"Y\n\x0b\x46lowSetting\x12\x13\n\x0b\x64\x61tabase_id\x18\x01 \x01(\x03\x12\x17\n\x0f\x66low_setting_id\x18\x02 \x01(\t\x12\x1c\n\x05value\x18\x03 \x01(\x0b\x32\r.shared.Value\"\xb2\x01\n\x0cNodeFunction\x12\x13\n\x0b\x64\x61tabase_id\x18\x01 \x01(\x03\x12\x1b\n\x13runtime_function_id\x18\x02 \x01(\t\x12)\n\nparameters\x18\x03 \x03(\x0b\x32\x15.shared.NodeParameter\x12\x19\n\x0cnext_node_id\x18\x04 \x01(\x03H\x00\x88\x01\x01\x12\x19\n\x11\x64\x65\x66inition_source\x18\x05 \x01(\tB\x0f\n\r_next_node_id\"\x8b\x01\n\tNodeValue\x12&\n\rliteral_value\x18\x01 \x01(\x0b\x32\r.shared.ValueH\x00\x12\x31\n\x0freference_value\x18\x02 \x01(\x0b\x32\x16.shared.ReferenceValueH\x00\x12\x1a\n\x10node_function_id\x18\x03 \x01(\x03H\x00\x42\x07\n\x05value\"d\n\rNodeParameter\x12\x13\n\x0b\x64\x61tabase_id\x18\x01 \x01(\x03\x12\x1c\n\x14runtime_parameter_id\x18\x02 \x01(\t\x12 \n\x05value\x18\x03 \x01(\x0b\x32\x11.shared.NodeValue\"\xa5\x01\n\x0eReferenceValue\x12\'\n\nflow_input\x18\x01 \x01(\x0b\x32\x11.shared.FlowInputH\x00\x12\x11\n\x07node_id\x18\x02 \x01(\x03H\x00\x12\'\n\ninput_type\x18\x03 \x01(\x0b\x32\x11.shared.InputTypeH\x00\x12$\n\x05paths\x18\x04 \x03(\x0b\x32\x15.shared.ReferencePathB\x08\n\x06target\"\x0b\n\tFlowInput\"J\n\tInputType\x12\x0f\n\x07node_id\x18\x01 \x01(\x03\x12\x17\n\x0fparameter_index\x18\x02 \x01(\x03\x12\x13\n\x0binput_index\x18\x03 \x01(\x03\"U\n\rReferencePath\x12\x11\n\x04path\x18\x01 \x01(\tH\x00\x88\x01\x01\x12\x18\n\x0b\x61rray_index\x18\x02 \x01(\x03H\x01\x88\x01\x01\x42\x07\n\x05_pathB\x0e\n\x0c_array_index\".\n\x05\x46lows\x12%\n\x05\x66lows\x18\x01 \x03(\x0b\x32\x16.shared.ValidationFlowB\x11\xea\x02\x0eTucana::Sharedb\x06proto3"
|
|
12
12
|
|
|
13
13
|
pool = Google::Protobuf::DescriptorPool.generated_pool
|
|
14
14
|
pool.add_serialized_file(descriptor_data)
|
|
@@ -5,11 +5,10 @@
|
|
|
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
|
|
|
11
10
|
|
|
12
|
-
descriptor_data = "\n\x1dshared.runtime_function.proto\x12\x06shared\x1a\x18shared.translation.proto\x1a\
|
|
11
|
+
descriptor_data = "\n\x1dshared.runtime_function.proto\x12\x06shared\x1a\x18shared.translation.proto\x1a\x13shared.struct.proto\"\xb7\x04\n\x19RuntimeFunctionDefinition\x12\x14\n\x0cruntime_name\x18\x01 \x01(\t\x12I\n\x1druntime_parameter_definitions\x18\x02 \x03(\x0b\x32\".shared.RuntimeParameterDefinition\x12\x18\n\x0breturn_type\x18\x03 \x01(\tH\x00\x88\x01\x01\x12\x14\n\x0cthrows_error\x18\x04 \x01(\x08\x12\x14\n\x0cgeneric_keys\x18\x05 \x03(\t\x12!\n\x04name\x18\x06 \x03(\x0b\x32\x13.shared.Translation\x12(\n\x0b\x64\x65scription\x18\x07 \x03(\x0b\x32\x13.shared.Translation\x12*\n\rdocumentation\x18\x08 \x03(\x0b\x32\x13.shared.Translation\x12\x30\n\x13\x64\x65precation_message\x18\t \x03(\x0b\x32\x13.shared.Translation\x12,\n\x0f\x64isplay_message\x18\n \x03(\x0b\x32\x13.shared.Translation\x12\"\n\x05\x61lias\x18\x0b \x03(\x0b\x32\x13.shared.Translation\x12$\n\x1clinked_data_type_identifiers\x18\x0c \x03(\t\x12\x0f\n\x07version\x18\r \x01(\t\x12\x14\n\x0c\x64isplay_icon\x18\x0e \x01(\t\x12\x19\n\x11\x64\x65\x66inition_source\x18\x0f \x01(\tB\x0e\n\x0c_return_type\"\xf6\x01\n\x1aRuntimeParameterDefinition\x12\x0c\n\x04type\x18\x01 \x01(\t\x12\x14\n\x0cruntime_name\x18\x02 \x01(\t\x12)\n\rdefault_value\x18\x03 \x01(\x0b\x32\r.shared.ValueH\x00\x88\x01\x01\x12!\n\x04name\x18\x04 \x03(\x0b\x32\x13.shared.Translation\x12(\n\x0b\x64\x65scription\x18\x05 \x03(\x0b\x32\x13.shared.Translation\x12*\n\rdocumentation\x18\x06 \x03(\x0b\x32\x13.shared.TranslationB\x10\n\x0e_default_valueB\x11\xea\x02\x0eTucana::Sharedb\x06proto3"
|
|
13
12
|
|
|
14
13
|
pool = Google::Protobuf::DescriptorPool.generated_pool
|
|
15
14
|
pool.add_serialized_file(descriptor_data)
|
|
@@ -12,22 +12,10 @@ module Tucana
|
|
|
12
12
|
|
|
13
13
|
def rule_config
|
|
14
14
|
case variant
|
|
15
|
-
when :contains_key
|
|
16
|
-
self.contains_key
|
|
17
|
-
when :contains_type
|
|
18
|
-
self.contains_type
|
|
19
|
-
when :item_of_collection
|
|
20
|
-
self.item_of_collection
|
|
21
15
|
when :number_range
|
|
22
16
|
self.number_range
|
|
23
17
|
when :regex
|
|
24
18
|
self.regex
|
|
25
|
-
when :input_types
|
|
26
|
-
self.input_types
|
|
27
|
-
when :return_type
|
|
28
|
-
self.return_type
|
|
29
|
-
when :parent_type
|
|
30
|
-
self.parent_type
|
|
31
19
|
else
|
|
32
20
|
raise UnexpectedRuleType, "Unknown rule type #{variant}"
|
|
33
21
|
end
|
|
@@ -35,22 +23,10 @@ module Tucana
|
|
|
35
23
|
|
|
36
24
|
def create(variant, config)
|
|
37
25
|
case variant
|
|
38
|
-
when :contains_key
|
|
39
|
-
self.contains_key = DataTypeContainsKeyRuleConfig.new(config)
|
|
40
|
-
when :contains_type
|
|
41
|
-
self.contains_type = DataTypeContainsTypeRuleConfig.new(config)
|
|
42
|
-
when :item_of_collection
|
|
43
|
-
self.item_of_collection = DataTypeItemOfCollectionRuleConfig.from_hash(config)
|
|
44
26
|
when :number_range
|
|
45
27
|
self.number_range = DataTypeNumberRangeRuleConfig.new(config)
|
|
46
28
|
when :regex
|
|
47
29
|
self.regex = DataTypeRegexRuleConfig.new(config)
|
|
48
|
-
when :input_types
|
|
49
|
-
self.input_types = DataTypeInputTypesRuleConfig.new(config)
|
|
50
|
-
when :return_type
|
|
51
|
-
self.return_type = DataTypeReturnTypeRuleConfig.new(config)
|
|
52
|
-
when :parent_type
|
|
53
|
-
self.parent_type = DataTypeParentTypeRuleConfig.from_hash(config)
|
|
54
30
|
else
|
|
55
31
|
raise UnexpectedRuleType, "Unknown rule type #{variant}"
|
|
56
32
|
end
|
|
@@ -63,46 +39,6 @@ module Tucana
|
|
|
63
39
|
end
|
|
64
40
|
end
|
|
65
41
|
|
|
66
|
-
DataTypeContainsKeyRuleConfig.class_eval do
|
|
67
|
-
def to_h
|
|
68
|
-
{
|
|
69
|
-
key: self.key,
|
|
70
|
-
data_type_identifier: self.data_type_identifier.to_h,
|
|
71
|
-
}
|
|
72
|
-
end
|
|
73
|
-
|
|
74
|
-
def self.from_hash(config)
|
|
75
|
-
new(
|
|
76
|
-
key: config[:key],
|
|
77
|
-
data_type_identifier: DataTypeIdentifier.from_hash(config[:data_type_identifier])
|
|
78
|
-
)
|
|
79
|
-
end
|
|
80
|
-
end
|
|
81
|
-
|
|
82
|
-
DataTypeContainsTypeRuleConfig.class_eval do
|
|
83
|
-
def to_h
|
|
84
|
-
{
|
|
85
|
-
data_type_identifier: self.data_type_identifier.to_h,
|
|
86
|
-
}
|
|
87
|
-
end
|
|
88
|
-
|
|
89
|
-
def self.from_hash(config)
|
|
90
|
-
new(data_type_identifier: DataTypeIdentifier.from_hash(config[:data_type_identifier]))
|
|
91
|
-
end
|
|
92
|
-
end
|
|
93
|
-
|
|
94
|
-
DataTypeItemOfCollectionRuleConfig.class_eval do
|
|
95
|
-
def to_h
|
|
96
|
-
{
|
|
97
|
-
items: self.items.map { |item| item.to_ruby(true) },
|
|
98
|
-
}
|
|
99
|
-
end
|
|
100
|
-
|
|
101
|
-
def self.from_hash(hash)
|
|
102
|
-
new(items: hash.fetch(:items).map { |item| Value.from_ruby(item) })
|
|
103
|
-
end
|
|
104
|
-
end
|
|
105
|
-
|
|
106
42
|
DataTypeNumberRangeRuleConfig.class_eval do
|
|
107
43
|
def to_h
|
|
108
44
|
{
|
|
@@ -120,154 +56,5 @@ module Tucana
|
|
|
120
56
|
}
|
|
121
57
|
end
|
|
122
58
|
end
|
|
123
|
-
|
|
124
|
-
DataTypeInputTypesRuleConfig.class_eval do
|
|
125
|
-
def to_h
|
|
126
|
-
{
|
|
127
|
-
input_types: self.input_types.map { |input_type| input_type.to_h }
|
|
128
|
-
}
|
|
129
|
-
end
|
|
130
|
-
|
|
131
|
-
def self.from_hash(hash)
|
|
132
|
-
new(
|
|
133
|
-
input_types: hash.fetch(:input_types).map { |input_type| DataTypeInputType.from_hash(input_type) }
|
|
134
|
-
)
|
|
135
|
-
end
|
|
136
|
-
end
|
|
137
|
-
|
|
138
|
-
DataTypeInputTypesRuleConfig::DataTypeInputType.class_eval do
|
|
139
|
-
def to_h
|
|
140
|
-
{
|
|
141
|
-
data_type_identifier: self.data_type_identifier,
|
|
142
|
-
input_identifier: self.input_identifier,
|
|
143
|
-
}
|
|
144
|
-
end
|
|
145
|
-
|
|
146
|
-
def self.from_hash(config)
|
|
147
|
-
new(
|
|
148
|
-
input_identifier: config[:input_identifier],
|
|
149
|
-
data_type_identifier: DataTypeIdentifier.from_hash(config[:data_type_identifier])
|
|
150
|
-
)
|
|
151
|
-
end
|
|
152
|
-
end
|
|
153
|
-
|
|
154
|
-
DataTypeReturnTypeRuleConfig.class_eval do
|
|
155
|
-
def to_h
|
|
156
|
-
{
|
|
157
|
-
data_type_identifier: self.data_type_identifier,
|
|
158
|
-
}
|
|
159
|
-
end
|
|
160
|
-
|
|
161
|
-
def self.from_hash(config)
|
|
162
|
-
new(data_type_identifier: DataTypeIdentifier.from_hash(config[:data_type_identifier]))
|
|
163
|
-
end
|
|
164
|
-
end
|
|
165
|
-
|
|
166
|
-
DataTypeParentTypeRuleConfig.class_eval do
|
|
167
|
-
def to_h
|
|
168
|
-
{
|
|
169
|
-
parent_type: self.parent_type,
|
|
170
|
-
}
|
|
171
|
-
end
|
|
172
|
-
|
|
173
|
-
def self.from_hash(config)
|
|
174
|
-
new(parent_type: DataTypeIdentifier.from_hash(config[:parent_type]))
|
|
175
|
-
end
|
|
176
|
-
end
|
|
177
|
-
|
|
178
|
-
DataTypeIdentifier.class_eval do
|
|
179
|
-
def to_h
|
|
180
|
-
if !self.data_type_identifier.empty?
|
|
181
|
-
return { data_type_identifier: self.data_type_identifier }
|
|
182
|
-
elsif !self.generic_type.nil?
|
|
183
|
-
return { generic_type: self.generic_type.to_h }
|
|
184
|
-
elsif !self.generic_key.nil?
|
|
185
|
-
return { generic_key: self.generic_key }
|
|
186
|
-
end
|
|
187
|
-
end
|
|
188
|
-
|
|
189
|
-
def from_hash(config)
|
|
190
|
-
if config.keys.intersection([:data_type_identifier, :generic_type, :generic_key]).count > 1
|
|
191
|
-
raise UnexpectedType, "Cannot have more than one type"
|
|
192
|
-
end
|
|
193
|
-
|
|
194
|
-
if config.key?(:data_type_identifier)
|
|
195
|
-
self.data_type_identifier = config[:data_type_identifier]
|
|
196
|
-
elsif config.key?(:generic_type)
|
|
197
|
-
self.generic_type = GenericType.from_hash(config[:generic_type])
|
|
198
|
-
elsif config.key?(:generic_key)
|
|
199
|
-
self.generic_key = config[:generic_key]
|
|
200
|
-
else
|
|
201
|
-
raise UnexpectedType, "Unknown type"
|
|
202
|
-
end
|
|
203
|
-
|
|
204
|
-
self
|
|
205
|
-
end
|
|
206
|
-
|
|
207
|
-
def self.from_hash(config)
|
|
208
|
-
new.from_hash(config)
|
|
209
|
-
end
|
|
210
|
-
end
|
|
211
|
-
|
|
212
|
-
GenericType.class_eval do
|
|
213
|
-
def to_h
|
|
214
|
-
{
|
|
215
|
-
data_type_identifier: self.data_type_identifier,
|
|
216
|
-
generic_mappers: self.generic_mappers.map(&:to_h),
|
|
217
|
-
}
|
|
218
|
-
end
|
|
219
|
-
|
|
220
|
-
def from_hash(config)
|
|
221
|
-
if config.key?(:data_type_identifier)
|
|
222
|
-
self.data_type_identifier = config.fetch(:data_type_identifier)
|
|
223
|
-
end
|
|
224
|
-
|
|
225
|
-
if config.key?(:generic_mappers)
|
|
226
|
-
self.generic_mappers.clear
|
|
227
|
-
config[:generic_mappers].each do |mapper_config|
|
|
228
|
-
self.generic_mappers << GenericMapper.from_hash(mapper_config)
|
|
229
|
-
end
|
|
230
|
-
end
|
|
231
|
-
|
|
232
|
-
self
|
|
233
|
-
end
|
|
234
|
-
|
|
235
|
-
def self.from_hash(config)
|
|
236
|
-
new.from_hash(config)
|
|
237
|
-
end
|
|
238
|
-
end
|
|
239
|
-
|
|
240
|
-
GenericMapper.class_eval do
|
|
241
|
-
def to_h
|
|
242
|
-
{
|
|
243
|
-
target: self.target,
|
|
244
|
-
source: self.source.map(&:to_h),
|
|
245
|
-
generic_combinations: self.generic_combinations.map(&:to_h),
|
|
246
|
-
}
|
|
247
|
-
end
|
|
248
|
-
|
|
249
|
-
def from_hash(config)
|
|
250
|
-
self.target = config[:target]
|
|
251
|
-
if config.key?(:source)
|
|
252
|
-
self.source.clear
|
|
253
|
-
config[:source].each do |source|
|
|
254
|
-
self.source << DataTypeIdentifier.from_hash(source)
|
|
255
|
-
end
|
|
256
|
-
end
|
|
257
|
-
|
|
258
|
-
if config.key?(:generic_combinations)
|
|
259
|
-
self.generic_combinations.clear
|
|
260
|
-
config[:generic_combinations].each do |combo|
|
|
261
|
-
self.generic_combinations << GenericMapper::GenericCombinationStrategy.resolve(combo)
|
|
262
|
-
end
|
|
263
|
-
end
|
|
264
|
-
|
|
265
|
-
self
|
|
266
|
-
end
|
|
267
|
-
|
|
268
|
-
def self.from_hash(config)
|
|
269
|
-
new.from_hash(config)
|
|
270
|
-
end
|
|
271
|
-
end
|
|
272
59
|
end
|
|
273
60
|
end
|
data/lib/tucana/version.rb
CHANGED