@rubylang

Страница 1609 из 1684
Anton
06.09.2018
14:10:00
очень

Igor
06.09.2018
14:10:07
Не, я про то, как динамичность типизации связана с тем, что вы херню творите в коде?

Типа «мы типы выводим в рантайме, а не во время компиляции — можем писать, что хотим»?

Sergey
06.09.2018
14:10:40
Google
Sergey
06.09.2018
14:10:45
Как бы ты без present? проверил?

Anton
06.09.2018
14:10:56
мой поинт к тому, что презент не просто так появился, а как костыль для конкретной проблеме

хуевый костыль, но что поделать

Igor
06.09.2018
14:11:20
Как бы ты без present? проверил?
Я не понимаю, как бы я с present? проверил Я с 2016 года не использовал ничего из этого

Sergey
06.09.2018
14:11:39
ну вот тебе из формы придет либо nil либо ''

значит ты будешь писать или условие

да еще и с save call

Igor
06.09.2018
14:11:54
Эээ

Валидация и нормализация

Никакой save и blank? там не нужен

См. dry-validation — идеи там

Можно наворотить через core coercions

Sergey
06.09.2018
14:12:43
Google
Pavel
06.09.2018
14:12:47
У dry-validation есть отличный инструмент type_specs

Igor
06.09.2018
14:12:49
а

Нормализация: irb(main):001:0> String(nil) => ""

Sergey
06.09.2018
14:13:04
Валидация и нормализация
да это понятно. А там что внутри по твоему твориться?

Igor
06.09.2018
14:13:26
Внутри dry-v и подобных я был, и там творится Lisp

Fedor
06.09.2018
14:13:44
Можно наворотить через core coercions
Можно притащить Null object, можно притащить dry, можно отловить эксепшен

но зачем, если можно просто проверить на empty

Igor
06.09.2018
14:14:04
Ура говнокоду!

Fedor
06.09.2018
14:14:04
что уже входит в функционал языка

Sergey
06.09.2018
14:14:06
ну собтвенно да

Это не гавнокод. Это другой подход

Igor
06.09.2018
14:14:25
Хорошая попытка, но нет

Sergey
06.09.2018
14:14:26
Более упрощенный и менее правильный

Fedor
06.09.2018
14:14:31
ну тоесть если не dry - то говнокод?

Sergey
06.09.2018
14:14:33
но не как уж не dirty hack

Fedor
06.09.2018
14:14:36
а аргументация то есть

Sergey
06.09.2018
14:14:40
видимо да

Fedor
06.09.2018
14:14:41
?

Igor
06.09.2018
14:14:42
dry в других языках нет, а идеи есть

что тут не так?

Google
Fedor
06.09.2018
14:14:52
ну тоесть если не java, то говнокод?

Igor
06.09.2018
14:15:04
ага, если не хаскель, то можно хоронить язык

/s

Fedor
06.09.2018
14:15:18
ну или так

Anton
06.09.2018
14:15:27
Как бы ты без present? проверил?
UserName = Type::String.constrained(min_size: 3) | Type::Null UserName['anton'] # => valid UserName[nil] # => valid UserName[''] # => invalid UserName['so'] # => invalid

Fedor
06.09.2018
14:16:06
ну вот Null objects приехали (

у нас же nil есть

зачем нам еще нулы

Anton
06.09.2018
14:16:27
это не null объект, это null type

разные вещи

Fedor
06.09.2018
14:17:23
ну такое

я бы сказал, одного поля ягоды

Fedor
06.09.2018
14:17:51
Вот у тебя в результате не пустую строку валидация упадет

Anton
06.09.2018
14:17:57
неа, нул объект просто реализует пустой интерфейс

а нил тайп говорит о том, являются данные чем-то или нет

Fedor
06.09.2018
14:18:13
а зачастую html формы пихают ее туда, где json оставил бы nil

Igor
06.09.2018
14:18:36
Возможно, это как-то связано с тем, что в HTML формах нет типов

Anton
06.09.2018
14:18:46
и это тоже

Sergey
06.09.2018
14:19:05
UserName = Type::String.constrained(min_size: 3) | Type::Null UserName['anton'] # => valid UserName[nil] # => valid UserName[''] # => invalid UserName['so'] # => invalid
Это очень выгодно использовать в non-rails приложениях, где можно require и include нормально использовать для библиотек, а не офигивать сколько у тебя в объекте родителей чьи методы ты почти не используешь.

Fedor
06.09.2018
14:19:11
ну что поделать, мы живем в жутком несовершенном мире, придуманном глупыми кожанными мешками органов

Google
Sergey
06.09.2018
14:19:39
В ином случае ты просто притащил лишнию либу, когда у тебя уже все это из коробки, более грязно, но есть)

Andrey
06.09.2018
15:15:17
Всем привет, я форкнул себе гем, переделал его, удалил старый, добавил строку в гемфайл gem 'lmtp', git: 'https://github.com/apaokin/ruby-lmtp'. Гем не появляется в каталоге, bundle install ошибки не выдает. Что можно сделать с этим?

rekero
06.09.2018
15:18:16
В каком каталоге?

Andrey
06.09.2018
15:18:57
~/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems

Если есть сомнения, то require тоже не работает :)

Admin
ERROR: S client not available

Andrey
06.09.2018
15:41:57
Проблема закрыта, Gemfile был совершенно в другом месте, думал, что require сработает

Odebe
06.09.2018
20:20:13
Привет. Кто-нибудь проверял с помощью dry-validation параметры для моделей с файлами? Проблема в том, что мне нужно проверять наличие поля только в том случае, если модель новая или передан файл. (модель я передаю в .with()) Если я пишу rule или validate, то они срабатывают, только если сработали required или optional для этого поля. Как это решить? В смысле, может, это вообще не так задача, которую стоит пытаться решить с помощью dry-v? Как вариант написать два разных валидатора для разных экшенов (но тогда наверное стоит сделать точно так же для других моделей) или даже собирать валидаторы по частям (типа такого https://gist.github.com/Odebe/7192ccf6ae8583b365828a8737a9ea54), но эти варианты как-то всё слишком усложняют.

Sergey
07.09.2018
07:07:22
Все, привет! Кто знает, есть какой-нибудь хелпер который умно умеет добавлять параметр в запрос? Типа если там уже есть параметр, то он добавит & вместо ?

Sergey
07.09.2018
07:09:39
У меня урл это строка, к ней конкатится параметр

И ещё и ещё

Т.е. есть ещё условия к наличию параметров

Zamira
07.09.2018
07:10:37
А причем тут тогда "хелпер, который добавляет параметр в запрос". Вы бы лучше спросили что нибудь по строкам тогда)

Artur
07.09.2018
07:10:39
Т.е. есть ещё условия к наличию параметров
Ну в модуле URI есть все что нужно

Sergey
07.09.2018
07:10:56
Но вообще идея правильная, можно просто их в конце добавить через переменную

В которой уже будут нужные по всем условиям

Zamira
07.09.2018
08:27:15
Ребят, очень нужна помощь по эластику. Может кто сталкивался. Есть поле, в котором вперемешку идут русские и английские слова. lowercase токен фильтр работает только с русскими словами. Как это можно исправить?

Google
Odebe
07.09.2018
09:10:31
А в чем проблема с rule / validate? Если написать свои предикаты и пробросить контекст Schema.with(…).call, то можно и на dry-logic описать валидацию
В том, что Just like high-level rules, custom validation blocks are executed only when the values they depend on are valid. Я писал свои предикаты и пытался сделать что-то типа required(:avatar) { new_record? > filled? > valid_size? }, но проблема в том, что до предикатов дело дойдёт только в том случае, если поле :avatar будет передано в вызове. С optional(:avatar) { ... } всё то же самое.

Ну или я не понял.

Dmitry
07.09.2018
12:33:09
Ребят, подскажите если гонять рельсоприложения в амазоне в контейнере, то как лучше всего организовать миграцию базы, делать это отдельной таской или впилить прямо перед стартом приложения?

Dmitriy
07.09.2018
12:53:18
Привет ребята! В свободное время я пишу свой проект для быстрого создания административных панелей, которая не привязана к определенному языку программированию. Пожалуйста дайте свой фидбек! http://getsimpleadmin.com

Dmitriy
07.09.2018
13:47:14
бесплатно все, это альфа версия

Sergey
07.09.2018
13:49:57
А импорта данных нет?

Ну если я правильно понял, это приложение поможет мне загрузить свою бд в это приложение и проводить какие-то манипуляции с сортировкой и тд

@dmitriystrukov верно или я не верно понял концепию?

Marsel
07.09.2018
13:53:19
тут наверное гем добавляет в твое приложение роуты, по которым будет дергать данные когда на вебморде ты что-то делаешь

Sergey
07.09.2018
13:53:52
проект для быстрого создания административных панелей, которая не привязана к определенному языку программированию. - выглядит как SaaS приложение

Marsel
07.09.2018
13:54:31
я предположил, подождем автора)

Dmitriy
07.09.2018
13:56:11
@dmitriystrukov верно или я не верно понял концепию?
сервис не хранит на своей стороне данные, а отрисовывает их в момент запроса и манипуляции с ними по такой же схеме происходят

облачная админка, что-то в таком духе

Артур
07.09.2018
13:56:56
хитрая схема

Sergey
07.09.2018
13:57:16
то есть на стороне бизнеса, должно быть специальное api, которое отдает данные

Страница 1609 из 1684