File tree Expand file tree Collapse file tree 2 files changed +25
-4
lines changed
app/services/runtimes/data_types
spec/requests/grpc/sagittarius Expand file tree Collapse file tree 2 files changed +25
-4
lines changed Original file line number Diff line number Diff line change @@ -158,8 +158,26 @@ def find_data_type(identifier, t)
158158 def update_rules ( rules , data_type )
159159 db_rules = data_type . rules . first ( rules . length )
160160 rules . each_with_index do |rule , index |
161+ config = rule . rule_config . to_h . transform_values do |value |
162+ case value
163+ when Tucana ::Shared ::DataTypeIdentifier
164+ if value . data_type_identifier . present?
165+ value . data_type_identifier
166+ elsif value . generic_key . present?
167+ { generic_key : value . generic_key }
168+ else
169+ { generic_type : value . generic_type }
170+ end
171+ else
172+ value
173+ end
174+ end
175+
161176 db_rules [ index ] ||= DataTypeRule . new
162- db_rules [ index ] . assign_attributes ( variant : rule . variant . to_s . downcase , config : rule . rule_config . to_h )
177+ db_rules [ index ] . assign_attributes (
178+ variant : rule . variant . to_s . downcase ,
179+ config : config
180+ )
163181 end
164182
165183 db_rules
Original file line number Diff line number Diff line change 2323 { code : 'de_DE' , content : 'Zahl: ${0}' }
2424 ] ,
2525 rules : [
26- Tucana ::Shared ::DefinitionDataTypeRule . create ( :number_range , { from : 1 , to : 10 } )
26+ Tucana ::Shared ::DefinitionDataTypeRule . create (
27+ :contains_type ,
28+ { data_type_identifier : { generic_key : 'T' } }
29+ )
2730 ] ,
2831 version : {
2932 major : 0 ,
5861 expect ( data_type . display_messages . first . code ) . to eq ( 'de_DE' )
5962 expect ( data_type . display_messages . first . content ) . to eq ( 'Zahl: ${0}' )
6063 expect ( data_type . rules . count ) . to eq ( 1 )
61- expect ( data_type . rules . first . variant ) . to eq ( 'number_range ' )
62- expect ( data_type . rules . first . config ) . to eq ( { 'from ' => 1 , 'to ' => 10 , 'steps' => 0 } )
64+ expect ( data_type . rules . first . variant ) . to eq ( 'contains_type ' )
65+ expect ( data_type . rules . first . config ) . to eq ( { 'data_type_identifier ' => { 'generic_key ' => 'T' } } )
6366 end
6467
6568 context 'with dependent data types' do
You can’t perform that action at this time.
0 commit comments