правило и проверить несколько определенных полей из схемы по очереди?
                  
                  
                  
                  
                  
                  Условно, переписать вот такой псевдо-код без итератора:
                  
                  
                  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 (именно такой способ не работает хех), но я его не нашел в доках, и в сорсах гема тоже полазил безрезультатно. Вполне возможно, его просто нет)
Обсуждают сегодня