diff --git a/build/ruby/lib/tucana/shared/shared.data_type.rb b/build/ruby/lib/tucana/shared/shared.data_type.rb index 8bdb2e6..f193bdb 100644 --- a/build/ruby/lib/tucana/shared/shared.data_type.rb +++ b/build/ruby/lib/tucana/shared/shared.data_type.rb @@ -50,7 +50,7 @@ def create(variant, config) when :return_type self.return_type = DefinitionDataTypeReturnTypeRuleConfig.new(config) when :parent_type - self.parent_type = DefinitionDataTypeParentTypeRuleConfig.new(config) + self.parent_type = DefinitionDataTypeParentTypeRuleConfig.from_hash(config) else raise UnexpectedRuleType, "Unknown rule type #{variant}" end @@ -190,11 +190,11 @@ def from_hash(config) end if config.key?(:data_type_identifier) - self.data_type_identifier = config + self.data_type_identifier = config[:data_type_identifier] elsif config.key?(:generic_type) - self.generic_type = GenericType.new(config) + self.generic_type = GenericType.from_hash(config) elsif config.key?(:generic_key) - self.generic_key = config + self.generic_key = config[:generic_key] else raise UnexpectedType, "Unknown type" end @@ -247,7 +247,7 @@ def from_hash(config) end if config.key?(:data_type_identifier) - self.data_type_identifier = DataTypeIdentifier.new(config.fetch(:data_type_identifier)) + self.data_type_identifier = DataTypeIdentifier.from_hash(config.fetch(:data_type_identifier)) elsif config.key?(:generic_key) self.generic_key = config.fetch(:generic_key) end