@rubylang

Страница 1460 из 1684
Nikita
14.04.2018
07:26:12
он передает релейшн или что?

Andrey
14.04.2018
07:26:15
массив

просто array

Evgeniy
14.04.2018
07:26:21
Не, он хочет эмулировать релейшн, передавая массив

Google
Nikita
14.04.2018
07:26:31
понял

тогда выше тебе код написали

но в любом случае

нужно массиву этот метод написать

Evgeniy
14.04.2018
07:28:01
просто вопрос, что делает each_instances, я что-то такого метода не нашел в ARR

Andrey
14.04.2018
07:28:40
как мне сказали "это обход курсором, чтоб все в память не грузить"

Evgeniy
14.04.2018
07:30:54
он судя по всему из этого гема https://github.com/afair/postgresql_cursor

Nikita
14.04.2018
07:30:58
просто вопрос, что делает each_instances, я что-то такого метода не нашел в ARR
(я так подозреваю, что-то типа Object.const_get(‘ClassName’).send(:find, 381904))

Andrey
14.04.2018
07:32:10
scope.each_instances do |instance| binding.pry yield entity_builder.call(instance) end где scope это декоратор

но внутрь он не заходит

при коде от Евгения

def each_instances(*args) object.each(*args) end

Nikita
14.04.2018
07:34:37
Public: Like each_row, but returns an instantiated model object to the block

Google
Nikita
14.04.2018
07:35:11
each_row: Public: Executes the query, returning each row as a hash

но что each_row, что each_instance

вызывает all

поэтому такое делать в декораторе… хз

лучше из контроллера уже результат декорировать, как по мне

просто вопрос, что делает each_instances, я что-то такого метода не нашел в ARR
https://github.com/afair/postgresql_cursor/blob/master/lib/postgresql_cursor/cursor.rb#L97

model = klass.send(:instantiate, row, @column_types) в принципе как и предполагалось

Evgeniy
14.04.2018
07:42:04
def each_instances(*args) object.each(*args) end
def each_instances(&blk) object.each &blk end

Nikita
14.04.2018
07:42:52
Это все равно бред в декораторе такое делать, лично мое мнение

Evgeniy
14.04.2018
07:44:15
Кстати там each_instance а не instances и он еще параметр принимает

т.е. что бы это было совместимо def each_instance(_, &blk) do object.each &blk end

Andrey
14.04.2018
07:48:40
def each_instances(&blk) object.each &blk end
во, с передачей блока норм. используется each_instanceS

спасибо @silentshade @niks123123

Evgeniy
14.04.2018
07:49:28
ну ок, просто в геме вроде как each_instance :)

Nikita
14.04.2018
07:49:35
Но я бы все равно не делал такое в декораторе)

Andrey
14.04.2018
07:49:52
а как?

Nikita
14.04.2018
07:50:13
Смотря что тебе нужно сделать :-)

Andrey
14.04.2018
07:50:49
есть массив. мне его надо передать в метод, который потом будет по переданному объекту выполнять each_instances

Nikita
14.04.2018
07:51:19
Почему ты зациклился на этом? Ты лучше скажи какой тебе результат нужен

И в каком кейсе

Google
Evgeniy
14.04.2018
07:52:08
Вообще можно заюзать рефайн, т.к. декорировать массив как-то странно да

Andrey
14.04.2018
07:52:39
выгрузить надо csv файл, для выгрузки написан класс, обычно в него подавали ARR

но в этом случае ARR туда не передать

Lavrushchik
14.04.2018
07:53:01
вопрос. можно как-то задать время хранения записи в бд в рельсах?

Nikita
14.04.2018
07:53:22
Ты же понимаешь, что у тебя н+1 в таком исполнении?

Когда начинает идти по каждому айди цикл

Andrey
14.04.2018
07:54:03
?

Nikita
14.04.2018
07:54:05
Хотя возможно ошибаюсь

Рельса какая?

Andrey
14.04.2018
07:54:35
там же за один запрос вычисляются данные, а потом просто по ним пробегатся и строятся объкты нужные для экспорта

4.2

Evgeniy
14.04.2018
07:54:44
Возможно в массиве уже выбранные инстансы, почему N+1 ?

Nikita
14.04.2018
07:54:57
если в массике инстансы, все ок, если айди, не ок

Andrey
14.04.2018
07:55:21
в массиве инстансы

Nikita
14.04.2018
07:55:34
тогда все огонь

Andrey
14.04.2018
07:55:56
вернемся к декоратору, без него это через рефайн?

Evgeniy
14.04.2018
07:56:06
там же за один запрос вычисляются данные, а потом просто по ним пробегатся и строятся объкты нужные для экспорта
https://ruby-doc.org/core-2.4.0/doc/syntax/refinements_rdoc.html глянь, мне кажется тут это лучше подходит чем декоратор..

Либо можно сделать свой класс и отнаследовать его от Array.. если ты его сам инстанциируешь

Andrey
14.04.2018
08:03:09
спасибо. учту эти варианты при обсуждении в понедельник с коллегами

Alex
14.04.2018
09:21:14
Всем привет! Посоветуйте решение. Есть коллеция категорий через гем awesome_nested_set. Категории самого верхнего уровня надо визуально разделить на 2 группы (по типу). Позицию разделителя нужно менять в админке. Я вижу это через свойство объекта например boolean типа, но что-то сомневаюсь. Вводить отдельное поле в базе ради того чтобы разделить только 10 категорий из 300

Google
Alex
14.04.2018
09:21:26
Может кому-то что-то более элегантное придет на ум

Ilya
14.04.2018
09:27:40
ну будет у тебя поле с дефолтным значением false, изменишь на тру где надо, что здесь страшного? если нет другого способа в бд их разделить то это нормальный вариант

Silent Bob
14.04.2018
13:43:40
У меня такой вопрос. Можно как нибудь использовать Active Model https://github.com/rails/rails/tree/master/activemodel валидации вне контекста объекта? К примеру как то так: validates "some string", presence: true

не для рельс, для одного проектика на рубях

похоже dry-ruby подойдет в самый раз http://dry-rb.org/gems/dry-validation/basics/

хотя конечно синтаксис у active model валидаций поприятнее

Silent Bob
14.04.2018
15:02:07
А еще такой вопрос, может есть какой готовый гем с коллекцией regex валидаций, типа для url, email, ip и т.д.

Admin
ERROR: S client not available

Антон
15.04.2018
06:24:59
не надо валидировать регекспами

А еще такой вопрос, может есть какой готовый гем с коллекцией regex валидаций, типа для url, email, ip и т.д.
есть миллион библиотек в stdlib которые при парсинге этих структур упадут в 80% случаев

у них внутри возможно регекспы проверенные тысячами контрибьюторов

вот я например в детстве писал статью

https://habrahabr.ru/post/175399/

ну и список доменов верхнего уровня хранить в редисе пара пустяков

и это будет нормальная валидация, а не "емайл совпадает с шаблоном"

127.0.0.1 - айпи шредингера он какбы валиден, но какбы инвалиден, причем всегда, даже если его пинговать

Mike
15.04.2018
07:14:38
Делать запрос домену, чтобы узнать есть ли MX

Антон
15.04.2018
07:31:45
это уже может быть перебор для обычной регистрации ну или нужно точно знать, если регистрируется директор банка :)

rekero
15.04.2018
07:46:56
Ну там в статье ловится исключение для кириллических символов, а они же сейчас валидны как адрес

Google
rekero
15.04.2018
07:47:27
Сам обычно гем email_validator юзаю

Есть общие регекспы на почту, ограничения которых в стандарте прописаны

rekero
15.04.2018
07:53:57
Письмо.рф

Антон
15.04.2018
07:54:43
а есть еще китайская наверное почта с китайским алфавитом

для истинных патреотов

rekero
15.04.2018
07:55:49
Но как кириллические домены добавили - пользователи появились, хотя и мало

Антон
15.04.2018
07:56:20
вот интересно, письмо.рф сколько дней доставляет сообщение, и где там трекинг? :)

rekero
15.04.2018
07:57:05
1 Работа кириллической почтовой службы реализована в соответствии с документами RFC 4952, RFC 5504, RFC 5335-5337, RFC 5738, RFC 5825, RFC 6530-6533

Во, там даже стандарты указаны

вот интересно, письмо.рф сколько дней доставляет сообщение, и где там трекинг? :)
Ну на свой РФ домен можно почту Яндекса повесить корпоративную

https://yandex.ru/blog/company/31537

Антон
15.04.2018
07:59:27


уже нет исключения

статье 5 лет

rekero
15.04.2018
08:00:01
Ну статья устарела значит

Хотя статья 2013 года, а домены в 2010 появились

Антон
15.04.2018
08:03:47
я бы и сейчас не стал бы поддерживать это извращение

истерически стандарт уже сложился де факто, точка

Shamil
15.04.2018
09:41:26
кстати хочу подметить, что рубисты более дружелюбные ;)
Абсолютно верно!? Странность лишь в том что замечает это обычно любой вменяемый новичёк??

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