
O
03.12.2017
18:11:02
Ща всё будет
https://paste.fedoraproject.org/paste/nzB8t~nYMSfanOsrsOSE5w
я просто о длине строки )))

Oleg
03.12.2017
18:12:22
такой длинный метод чейнинг можно и на несколько строк переносить

Google

Fedor
03.12.2017
18:12:23
стандартное ограничение rubocopa - 80 символов
мне оно не нравится, я предпочитаю 120
в конце концов, мониторы у нас уже не 640x480 и в экран влезает много всего, и с 10 символов могут быть просто отступы
ну и цепочку же по точкам переносить можно

O
03.12.2017
18:13:42
цепочку перенес )

Oleg
03.12.2017
18:13:52
мои любимые десятистрочные уан-лайнеры...

O
03.12.2017
18:13:56
а само что столько втекает в @calls это норм же ? :D

Dmitry
03.12.2017
18:15:07
вот тут как раз можно scope сделать

Fedor
03.12.2017
18:15:11
ну как...

Dmitry
03.12.2017
18:15:13
или метод какой

Fedor
03.12.2017
18:15:21
легче раскидать по скоупам и фильтрам
что бы красивее было
https://paste.fedoraproject.org/paste/GT1DC49pZjycXSySKZJB5Q

Google

Fedor
03.12.2017
18:15:33
ну или так это хотя бы читать можно
ну и то, что у вас в sql идут params без фильтрации как-то не очень

O
03.12.2017
18:17:12

Fedor
03.12.2017
18:17:29
ну выглядит это как кусок контроллера
то, что там лежит в params - это параметры из запроса
а там может быть все, что угодно

O
03.12.2017
18:17:57
ну да , параметры из запроса
где именно ?
в каком методе ?
в date_period?

Fedor
03.12.2017
18:18:44
sql инъекцию туда не аихнешь, потому что при передаче в методы AR отфильтрует, но к примеру если не передать номер страницы все упает с 500 ошибкой

Oleg
03.12.2017
18:18:45
интерполяции прямо в sql из params в коде не видно)

Fedor
03.12.2017
18:18:48
или date_start
а это не нормально

O
03.12.2017
18:19:15
а там стоит if))
даже с regex

Fedor
03.12.2017
18:19:23
везде?

O
03.12.2017
18:19:46
в dateparsed например
в paginate
там уже само

Google

O
03.12.2017
18:20:28
В search
в search там просто ILIKE ? строк , и т.д , там незнаю чем инъекцию сделать

Fedor
03.12.2017
18:22:24
а как оно у вас троку из пробелов обработает?

O
03.12.2017
18:24:16
в каком именно ? в search обычный поиск пробелов делает
как я понял поиск пробелов

Dmitry
03.12.2017
18:24:47
так раз тут про иньекции заговорили есть у меня скоп вот такой
scope :current_sort_form, ->(project_name) { where(:project => project_name).maximum('sort_form') + 1 }
в project_name у меня идут params[:question][:project]
тут же все ок? или что то там надо фильтровать

Fedor
03.12.2017
18:27:58
ок
ты передаешь параметр в метод AR там есть фильтрация
не надо делать вещей вида: where("id = #{params[:id]}")

Fedor
03.12.2017
18:29:43
это по разному обрабатывается методами 'nil?' и 'blank?'
при этом я не уверен, что нормально обработается ILIKE '' в sql

O
03.12.2017
18:30:30
postgresql
в sql оно не тютю

Fedor
03.12.2017
18:30:36
и таких тонких моментов много
к примеру, если туда передать % получится скан всего текста, если текста много и запросов много, легко можно положить базу
такие вещи надо фильтровать, и это не место для метода обращающегося к базе
на мой взгляд надо фильтровать параметры, и на основе имеющихся параметров, принимать решение, какие методы мы вызываем для обращениея к БД и уже там передавать параметры с полной уверенностью, что они верные

Google

O
03.12.2017
18:33:00
а как поступать при общем поиске ?

Fedor
03.12.2017
18:33:16
зависит от того, что и как надо искать
если вы допускаете поиск по маске и отдаете себе отчет, что это долго, то ничего
если вы ищите слова, надо фильтровать спецсимволы из параметров _ и %
но если вы считаете, что человек может искать что-то про 10% то надо не фильтровать, а экранировать )

O
03.12.2017
18:35:20
у меня если в поиск передать % ничего не происходить
и если _ то ничего

Fedor
03.12.2017
18:35:55
что значит ничего?
запрос не отправляется?

Admin
ERROR: S client not available

Fedor
03.12.2017
18:36:11
тогда эта самая фильтрация где-то там уже есть )

O
03.12.2017
18:36:33
запрос отправляется но поиск не реагирует, остается то что уже выведено
тоесть он не ищется а остается всё как есть , в консоли запрос принимается , фух , значит где то фильтр стоит

Fedor
03.12.2017
18:41:05
ну вообще да, цепочки - не проблема

O
03.12.2017
18:41:38

Vladimir
03.12.2017
18:56:15
Если у кого #Ruby в приоритете языков №1, то какой ЯП у вас на 2-месте?

Fedor
03.12.2017
18:56:31
go
но я чистый бэкэндер, чаще всего идет js )
и это правильно

Google

Vladimir
03.12.2017
18:57:15
ну да, всё от узконаправленности задач зависит

Dmitry
03.12.2017
20:30:26
включил сегодня свой thinkpad после двух недель на макбуке
блин удобный он все таки
безоговорочны плюса только два у макбука перед ним это автономность и экран.
тщета бытия же заключается в том что thinkpad с уровнем экрана как на маке, стоит дороже чем мак
и я не уверен что он такой же прочный как мой, потому как если его на пол уронить можно повредить ламинат..

Evgeniy
03.12.2017
20:47:22
и я не уверен что он такой же прочный как мой, потому как если его на пол уронить можно повредить ламинат..
один раз в машине уронил при резком торможении thinkpad еще старый на базе core2duo (там видео конвертировалось в это время). USB вход в дребезги (ключ защиты был воткнут). сидюк постоянно отключался/подключался и синий зуб с тех пор глючит.
один раз в поезде уронил мак прошку наверное чуть повыше, чем thinkpad - и хоть бы что.
так что вопрос такой... весьма открытый.
panasonic в этой схватке выживаемости точно выиграл бы ;)

Dmitry
03.12.2017
20:48:16
с дуру можно и хуй сломать
это скоре исключение у тебя было чем правило

Igor
03.12.2017
21:27:35
как очистить икран в консоли рубимайн

Aleksey
03.12.2017
21:32:05
Что за икран?

Igor
03.12.2017
21:32:31
экран
а ты кто?

Aleksey
03.12.2017
21:33:07
Может cls или clear

Ro
03.12.2017
21:34:44
можно `clear`

Igor
03.12.2017
21:34:51
это в винде и в маке

Ro
03.12.2017
21:35:07
или `reset`
обратные кавычки обязательны

Aleksey
03.12.2017
21:35:23
Ну ппц. Как можно такие элементарные вопросы даже не попытаться погуглить? ((