Not sure if the way I am defining rule is wrong or the dry-schema is doing it wrong when constructing the rule, here’s my rule definition
optional(:user_ids).value(Types.Instance(ActiveRecord::Relation) | Types::Array.of(Types::Coercible::Integer))
and here’s the rule generated by dry-schema
:user_ids=>"key?(:user_ids) THEN key[user_ids](type?(ActiveRecord::Relation) OR array?)"
I am expecting the generated rule will enforce each element in the array will be an integer like
:user_ids=>"key?(:user_ids) THEN key[user_ids](type?(ActiveRecord::Relation) OR (array? AND each(int?)))"