правило и проверить несколько определенных полей из схемы по очереди?
Условно, переписать вот такой псевдо-код без итератора:
json do
required(:a).filled(:integer)
required(:b).filled(:integer)
optional(:c).maybe(:integer)
optional(:d).maybe(:string)
end
%i[a b c].each do |field|
rule(field) do
key.failure('custom error text') unless (0..10000000).cover?(value)
end
end
p.s. gteq? lteq? и прочие предикаты мне известны, но они не подойдут из-за более сложной реализации (если не псевдокод). Интересует ответ на конкретный вопрос выше.
Ага, с итератором работает, но не нравится как написано:( У меня стойкое предчувствие, что есть какое-то решение, похожее на то, что ты предлагаешь с передачей массива ключей в rules (именно такой способ не работает хех), но я его не нашел в доках, и в сорсах гема тоже полазил безрезультатно. Вполне возможно, его просто нет)
Обсуждают сегодня