@proRuby

Страница 1150 из 1594
Anton
28.03.2018
14:48:49
ну если легко читается, то вай нот
практика подсказывает, что: 1. это придется расширять 2. расширяя, придется всю метомагию понимать

Aleksey
28.03.2018
14:49:29
или если сломается.. ух помню коллега до меня пилил mongo-like query language для SQL базы

Anton
28.03.2018
14:49:37
или так

Aleksey
28.03.2018
14:49:39
вот это было как в истории про батю и борщ

Google
Anton
28.03.2018
14:49:48
одним словом, я перестраховываюсь и пишу явно

Максим
28.03.2018
14:49:51
практика подсказывает, что: 1. это придется расширять 2. расширяя, придется всю метомагию понимать
Я думал об этом у меня была достаточно узкая задача и расширению никак не мешпла

Anton
28.03.2018
14:49:52
или копирую

Sergey
28.03.2018
14:50:15
практика подсказывает, что: 1. это придется расширять 2. расширяя, придется всю метомагию понимать
Это как везде, если хорошо не умеешь( а расширение, это 2 принцип солида) то лучше не делать. С этим соглашусь

Максим
28.03.2018
14:50:21
И все было Реал ясно просто был модуль и ты его подключал к модели

Aleksey
28.03.2018
14:50:28
а еще любой такой гениальный код, если он действительно гениальный и очень сложный, должно быть легко выкинуть в случае необходимости

Максим
28.03.2018
14:50:30
Типа сортаьл и сервабл

Серчабл и сортабл*

Vasiliy
28.03.2018
14:50:54
че че о чем трёп

Максим
28.03.2018
14:51:15
че че о чем трёп
О том как я ранее изобретал

Помнишь?

Vasiliy
28.03.2018
14:51:23
да

и я тебе говорил что говна навернёшь, помнишь?

Google
Максим
28.03.2018
14:56:49
так всё ок же

не навернул

просто обсуждаем типа норм ли впринципе метапрограммирование

я то там всё сделал чтоб не навернуть

типа моя штука ну вообще никак не мешает другим методам работы с таблицами

Roman
28.03.2018
15:01:21
надо просто доку нормальную оставлять

типа какие методы генерятся

хотя бы в виде комментариев в коде

Максим
28.03.2018
15:02:19
ДА

да*

Roman
28.03.2018
15:04:52
я обычно если сильная метамагия с define_method - справа в виде комментария построчно пример набрасываю

чтоб хоть что-то одно нагрепалось =)

Black
28.03.2018
15:20:10
ДА
Ну что ты решил задачу? Если нет, заново поставь вопрос в стиле Дудя или Познера. Просто интересным показался твой вопрос.

Максим
28.03.2018
15:20:24
решил конечно

пользуемся

ток фронт не доделан был

поэтому проект пока отложили

пушо дедлайн пройден

поэтому опыта в проде этой штуки нет

а так да в итоге получился по сути обрезаный и наверное более криво написаный рансак

Google
Максим
28.03.2018
15:22:03
плюс прослоечка в аппликейшн_контроллер которая парсила входящие параметры если они шли на индекс и автоматически вызывала нужный сгенерирвоаный метод поиска или сортировки

мы с фронтом договорились что когда на индекс идёт типа можно чтоб было два массива параметров - сёрч парамс и сорт парамс

в сёрч парамс могли приходить названия столбца и тип поиска

Anton
28.03.2018
15:23:15
помню пилил шутку, которая фильтровала данные как в гитхабе

т.е. author:name label:test search text

Максим
28.03.2018
15:23:51
типа если приходило айди - возвращали с нужным айди если айдис - то возвращали айди с от и до нужных если айдис_каунт - то количество с таким то айди и тд

Anton
28.03.2018
15:24:18
сделал ее 2мя объектами по сути (на самом деле второй так и не доделал), парсером, который строку в токены пилит + в репозитории логику фильтрации по релейшенам

ну и объект, который все это оборачивает

Максим
28.03.2018
15:24:48
а у меня в итоге 2 модуля и пара методов в апликейшн контроллере

что изменил бы ща - обернул бы методы в апликейшн контроллере тоже

тогда чёт не дошло в голову

да и вообще вопрос да

надо ли такому быть в апликейшн контроллере

типа по сути это был не экшн на который шлётся запрос

Anton
28.03.2018
15:25:29
не думаю

Максим
28.03.2018
15:25:35
а логика парса параметров

Anton
28.03.2018
15:25:40
я бы отдельный сделал объект с логикой

Максим
28.03.2018
15:25:43
как было бы правильнее?

ну вот сделал бы объект

Anton
28.03.2018
15:25:48
и его в экшен пихал

Google
Максим
28.03.2018
15:25:51
а потом как?

подключал бы его к апликешйн контроллеру?

не было ли бы это считай тем же самым?

Anton
28.03.2018
15:26:36
я вот так делал и то, считаю, что это не правильно https://github.com/davydovanton/octostar/blob/master/apps/web/controllers/repos/index.rb#L12

Амир?
28.03.2018
15:26:52
А пушо это шо ?

Максим
28.03.2018
15:27:04
потому что

Andiskiy
28.03.2018
15:27:13
ребята, подскажите пожалуйста, почему если генерю xlsx - он не открывается. сделал как http://railscasts.com/episodes/362-exporting-csv-and-excel?view=asciicast ругается на формат файла. а если делаю xls - опять предупреждение : действительный формат отличается от того что указано в имени файла (xls). подскажите пожалуйста, как избавиться от предупреждения?

Амир?
28.03.2018
15:27:17
:)

Максим
28.03.2018
15:27:48
я вот так делал и то, считаю, что это не правильно https://github.com/davydovanton/octostar/blob/master/apps/web/controllers/repos/index.rb#L12
ну а вот если бы я хотел это сделать дефолтным поведением у всех ээкшнов индекс

Anton
28.03.2018
15:28:01
во все бы и передавал бы

явно

Максим
28.03.2018
15:28:04
норм ли было бы в апликейшн контроллере писать типа бифо индекс :метод

ну да

вот тоже хороший вопрос

наверное лучшим вариантом тогда

было бы делать как ты

но

сделать генератор контроллера кастомный

Anton
28.03.2018
15:28:37
зачем?

Максим
28.03.2018
15:28:38
чтоб уже с этим генерировал метод индекс

Google
Anton
28.03.2018
15:28:42
явно пишешь контроллеры все и все

Максим
28.03.2018
15:28:59
ну просто у меня в црм почти все контроллеры это круды

Anton
28.03.2018
15:29:03
сам контроллер не должен быть толстым в таком случае

Максим
28.03.2018
15:29:04
с повторяющейся логиков

Anton
28.03.2018
15:29:09
просто вызов объекта + обработка результата

Максим
28.03.2018
15:29:23
ну он и не будет толстым

Anton
28.03.2018
15:29:24
скопируешь 4 строчки и все, в чем беда?

Максим
28.03.2018
15:29:25
я же говорю

там просто в индексе вместо def index render Model.all end

Максим
28.03.2018
15:30:37
будет типа def index render Searchable.search(Model, search_params)

и типа так бы и генерировал бы их сразу

ну по сути реал ток 2 строчки поправить руками

но можно же и автоматизировать

с названиями я не думал так что не кидайтесь камнями плиз

Anton
28.03.2018
15:31:42
так почему не сделал бы вот так def index result = Searchable.search(Model, search_params) if result # success case else # failure case end end

и все

Максим
28.03.2018
15:31:56
да можно и так я не против

Vitaly
28.03.2018
15:32:10
надеюсь возьмут
постулаты ооп... нихуя себе

Максим
28.03.2018
15:32:21
ну это реал самая база на самом деле

просто теор часть не так часто же в голове держишь

john
28.03.2018
15:32:46
ооп - это ритуальные слова

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