Size: a a a

Ruby, Rails, Hanami | dry-rb

2020 February 14

u

unkmas in Ruby, Rails, Hanami | dry-rb
Ты приводишь данные из одного вида к другому
источник

AD

Anton Davydov in Ruby, Rails, Hanami | dry-rb
unkmas
Да не, понятно, что драй тут не нужен. Можешь пояснить логику, почему dry предлагает делать это не в самом контракте?
поттому что драй валидация это про проверку бизнес валидации, а не трансформацию схемы
источник

SK

Serhii Koliada in Ruby, Rails, Hanami | dry-rb
Igor Morozov
Чтоб получить те константы, используй фриз
фриз это больше про array(стринг тоже array если че) чем про константы
источник

IM

Igor Morozov in Ruby, Rails, Hanami | dry-rb
Serhii Koliada
фриз это больше про array(стринг тоже array если че) чем про константы
🤔🤔
источник

u

unkmas in Ruby, Rails, Hanami | dry-rb
Anton Davydov
поттому что драй валидация это про проверку бизнес валидации, а не трансформацию схемы
воу, а при чём тут бизнес-валидация?
источник

IM

Igor Morozov in Ruby, Rails, Hanami | dry-rb
unkmas
Ты приводишь данные из одного вида к другому
И хоть я с этим согласен, но это ж деталь низкоуровневая. Берешь schema для контракта и нет никаких преобразований
источник

IM

Igor Morozov in Ruby, Rails, Hanami | dry-rb
unkmas
воу, а при чём тут бизнес-валидация?
Так контракты для валидации бизнес-правил и сделаны.
источник

AD

Anton Davydov in Ruby, Rails, Hanami | dry-rb
поттому что драй валидация сейчас проверяет бизнес валидации, драй схема проверяет схему данных
источник

AD

Anton Davydov in Ruby, Rails, Hanami | dry-rb
прямо из примера

rule(:age) { key.failure("must be greater than 18") if value < 18 }
источник

AD

Anton Davydov in Ruby, Rails, Hanami | dry-rb
это бизнес валидация уже
источник

IM

Igor Morozov in Ruby, Rails, Hanami | dry-rb
ну это вообще зависимый тип просто)
источник

u

unkmas in Ruby, Rails, Hanami | dry-rb
Ага, понял
источник

u

unkmas in Ruby, Rails, Hanami | dry-rb
Да, ну тогда это более логично выглядит
источник

u

unkmas in Ruby, Rails, Hanami | dry-rb
Хотя всё равно непонятно, зачем там коэрция тогда)
источник

u

unkmas in Ruby, Rails, Hanami | dry-rb
Ну да ладно
источник

AD

Anton Davydov in Ruby, Rails, Hanami | dry-rb
Igor Morozov
ну это вообще зависимый тип просто)
ну в целом да, скорее такие проверки часто относят к бизнес логике, чем к схеме
источник

IM

Igor Morozov in Ruby, Rails, Hanami | dry-rb
unkmas
Хотя всё равно непонятно, зачем там коэрция тогда)
Да там коерции это не то чтоб какая-то first-class фича. Ты же описываешь, в каком формате ты ожидаешь данные — просто руби (`schema`), json или какой-нибудь form-data (`params`).

Чтобы эти данные прочитать и с ними работать, их всё равно придётся преобразовывать
источник

IM

Igor Morozov in Ruby, Rails, Hanami | dry-rb
И вот в том же JSON у тебя нет интеджеров. Поэтому из сырых данных ты не поймёшь, что тебе пришло — интеджер или таки флоат. А на уровне контракта это важно. Поэтому без преобразований не получится
источник

IM

Igor Morozov in Ruby, Rails, Hanami | dry-rb
А форм-дата вообще строкотипизированная, ты не сможешь вообще с этим работать
источник

?

? in Ruby, Rails, Hanami | dry-rb
Dmitry Gorodenkov
Всем привет)..
Кто подскажет начинающему за DDD и переход между АПП и инфраструктурой..

Для БДшек удобно использовать репозиторий, а что подходит так же приятно для апишек/вебсервисов?
И что в итоге должен такой инструмент возвращать?
Слышал тему за некие абстрактные резалт-обжекты, тогда как их правильно уложить и обозначить на уровне домена? Может статьи какие есть за это?
Сами внешние запросы, обработка, взаимодействия лучше вынести как Gateway
источник