@proRuby

Страница 1591 из 1594
Gleb
26.10.2018
13:10:14
кто чем сейчас dry-validation оборачивает? (чтобы делать форм-объекты, а не константы, нормально использовать интернационализацию, в идеале наследоваться уметь)

Black
26.10.2018
13:13:53
Скажите погромисты, просто запрос Model.where(name: ["Иван", "Андрей"], age: [25, 44]). Как сделать так, что искал в последовательно порядке? То есть, Иван 25 сперва, а потом Андрей 44?

Google
Gleb
26.10.2018
13:15:12
Наследовать схемы?
правила валидации (типа как в Reform)

Igor
26.10.2018
13:15:37
Какой кейс на такое?

Схемы вообще вещь такая, что их переиспользовать не стоит, так что звучит необычно

Gleb
26.10.2018
13:16:33
это когда правила валидации стало необычным наследовать? )

Какой кейс на такое?
есть родительская форма, в которой описываются общие правила валидации. есть наследники, в которых описываются частные случаи. используешь наследников в зависимости от ситуации

Igor
26.10.2018
13:17:55
Нюанс в том, что тут не наследование нужно, а композицию. Бонус: в dry-v для некоторых типов схем наследование работает плохо. Вроде бы в JSON схемах, не помню уже

Igor
26.10.2018
13:23:44
В мире, откуда пришёл dry-validation, наследование вообще не очень популярное решение

Gleb
26.10.2018
13:24:26
В мире, откуда пришёл dry-validation, наследование вообще не очень популярное решение
поэтому мне кажется вполне логичным нести его в свой рельсомир "обернутым" в абстракцию

Igor
26.10.2018
13:24:33
Про композицию схем — описываешь какие-то мелкие куски и собираешь из них required(:foo, :hash).schema(MyAwesomeSchema) можно билдер написать, что угодно

В абстракцию оборачивать — нормально, да

Google
Igor
26.10.2018
13:25:58
Но наследование схем — это что-то не очень естественное

Наследование абстракций, которые используют схему — мб нормально, зависит от абстракции

Gleb
26.10.2018
13:26:35
Наследование абстракций, которые используют схему — мб нормально, зависит от абстракции
дык если внимательно вчитаться я и не просил наследование схем )

Igor
26.10.2018
13:26:37
а так — reform же работает с dry-v

Если правила валидации проверяют типы, то я закинул это к наследованию схем

Gleb
26.10.2018
13:27:24
а так — reform же работает с dry-v
реформ уже старый и поддерживаться не собирается. многие говорят, что Ник сам уже давно не доволен и делать ничего не будет

я как-то брал hanami-validations, чтобы самому не выелосипедить, но там тоже все сыро

Anton
26.10.2018
13:28:37
Тут для тебя DI из коробки, а ты противишься

Gleb
26.10.2018
13:29:02
Что-то так себе идея
ну в константах хранить что ле?

Anton
26.10.2018
13:34:12
Ага, в чем беда? Делаешь папочку с валидациями под контроллеры и в каждом файле константу делаешь с объектом схемы

Anton
26.10.2018
13:36:03
А папка с форм объектами чем тогда лучше? :)

в этом твоем ханаме тоже схемы обернуты )
Я не думаю, что там правильно это сделано

Gleb
26.10.2018
13:38:26
А папка с форм объектами чем тогда лучше? :)
тем, что это привычный рельсопуть – набор форм-обжектов. ну и вообще отличная абстракция на всякий

Gleb
26.10.2018
13:40:16
ну чувак. хотя бы взять, что мне неудобно каждой схеме объяснять где файл локализации лежит

к тому же, вопрос был о том, кто как делает, а не как правильно )

Vasiliy
26.10.2018
13:42:11
так копипаст же ну

Google
Igor
26.10.2018
13:44:12
Можно ж написать базовую схемку, где есть только configure ?

Anton
26.10.2018
13:44:18
(Не наследуются драй валидации)

Во всяком случае там было очень залупно это

Igor
26.10.2018
13:44:47
локаль и type_specs вроде не теряются при наследовании

правила — иногда теряются

Anton
26.10.2018
13:45:07
Про локаль не скажу, правила 100% теряются

Тогда уже проще сделать а-ля экшен ханами

Что бы класс метод был для определения схемы

Который заэвалиться когда и где надо

Ну и наследование это так себе вариант. Даже в джаву уже уходят от него (но это офтоп)

Vasiliy
26.10.2018
13:50:02
чой то

а как же все design patterns с наследованием

AbstractGavno

Anton
26.10.2018
13:51:35
чой то
Сейчас все зависимостями прокидывают

Yegor
26.10.2018
14:55:47
коллеги, вы мне очень помогли вчера. можете помочь еще раз? https://stackoverflow.com/questions/53011200/how-to-check-if-the-file-is-still-locked-by-current-thread

вопрос в том, могу ли я как-то узнать глядя на файл — locked он или нет?

Yegor
26.10.2018
15:24:49
И вот еще вопрос для Руби программеров, может подскажете: https://stackoverflow.com/questions/53011865/why-flock-works-differently-when-the-file-object-is-new

Roman
26.10.2018
15:32:42
Google
Yegor
26.10.2018
15:32:59
а никто не сталкивался с этим?

почему flock() зависит от того, на каком объекте он вызывается?

он же по идее должен лочить файл, а не объект Руби

Mikhail
26.10.2018
15:33:50
Как ты понял, что второй пример не рабочий?

O
26.10.2018
17:11:02
подскажите что делаю не так? задача вывести списком c.title

<%= form.select(:kg_category, options_for_select([@categories.each do |c| [c.title, c.id] end])) %>

выводится так: <select name="kg_word[kg_category]" id="kg_word_kg_category"><option value="#<KgCategory:0x00007fee821f9f00>">#&lt;KgCategory:0x00007fee821f9f00&gt;</option></select>

Roman
26.10.2018
17:21:12
<%= form.select(:kg_category, options_for_select([@categories.each do |c| [c.title, c.id] end])) %>
each возвращает исходный массив, подозреваю, что тебе надо map

Yegor
26.10.2018
17:25:48
Как ты понял, что второй пример не рабочий?
запустил его, а он не пишет Works

Mikhail
26.10.2018
17:27:37
запустил его, а он не пишет Works
Посмотрел исходники. Есть подозрение, что ты не можешь открыть тот же файл который перед этим залочил в рамках процесса с другим дескриптором файла

First
26.10.2018
17:28:02
each чета возвращает ?

Roman
26.10.2018
17:28:17
ессно

First
26.10.2018
17:28:28
Схерали

Он ведь не должен ничего возвращать

Roman
26.10.2018
17:28:58
схерали он не должен ничего возвращать? ты запрещаешь?)

First
26.10.2018
17:29:10
Roman
26.10.2018
17:29:31
Потому что это сахар для for?)
наоборот. for в руби реализован через each

First
26.10.2018
17:30:02
> 1 2 3 => nil

Google
First
26.10.2018
17:30:07
s = (1...4).to_a.each do |i| i + 1 end puts s

Roman
26.10.2018
17:32:11
> 1 2 3 => nil
ну так это ж я и говорю

First
26.10.2018
17:32:18
Про nil?)

Roman
26.10.2018
17:32:34
1 2 3

это откуда?

First
26.10.2018
17:32:50
Т.е

Ты хочешь сказать, что each возвращает значение из каждой итерации?)

Roman
26.10.2018
17:33:17
нет, each возвращает исходный массив

pry@2.5.1(main)> [1, 2, 3].each { 'pohui' } => [ [0] 1, [1] 2, [2] 3 ]

First
26.10.2018
17:34:05
Не плохо значения возвращает

))))

Окей, в рубях он возвращает

Это самое логичное поведение из всех, что я видел

Roman
26.10.2018
17:34:22
ну мы ж про руби вроде

Vasiliy
26.10.2018
17:37:38
ну так ич это же и не мап

а возврат значения для чейнинга

First
26.10.2018
17:39:05
Больше стейта - лучше

Roman
26.10.2018
17:41:23
а возврат значения для чейнинга
ну чейнинг условный конечно... типа чейнинг с только сайдэффектами

First
26.10.2018
17:41:37
Процедурщиной завоняло

Страница 1591 из 1594