
Roman
15.10.2018
15:07:11
ну потому что может не надо его так называть?)

Максим
15.10.2018
15:07:12
типа если тру то блокировать? а фолс оставлять? или наоборот
и подумал добавить алиас
а как лучше?

Google

Sergey
15.10.2018
15:07:56
Насколько я понимаю, сервис в идеале должен выполнять одну задачу, interactor gem построен на этой идее, название сервиса уже должно говорить само за себя, а у него ты уже просто вызываешь call
если что-то непонятно внутри, лучше вынести в защищенную области видимости непонятные методы

Roman
15.10.2018
15:08:10
тут не что-то внутри непонятное

Максим
15.10.2018
15:08:12
не внутри

Roman
15.10.2018
15:08:16
а как обычно проблема - как называть

Максим
15.10.2018
15:08:17
мне снаружи сложно было запомнить
да

Roman
15.10.2018
15:08:26
ButtonDisabledService тогда уже
true - Disabled, false - нет

Максим
15.10.2018
15:08:38
просто я думал что лучше называть типа на ing

Roman
15.10.2018
15:08:48
вообще на ing лучше не называть
если это action - то прям так и называ
CreateUserService
а не UserCreation

Google

Anton
15.10.2018
15:09:02
аля “выключатель кнопки . вызвать”

Roman
15.10.2018
15:09:16
а вот если это query, то я хз, я чет ни разу такого не писал

Mikhail
15.10.2018
15:09:19
Вообще, я бы просто метод сделал disabled_button?

Максим
15.10.2018
15:09:31

Sergey
15.10.2018
15:09:33
ButtonDisableator ?

Mikhail
15.10.2018
15:09:33
который принимает все что принимает сервис в конструкторе

Roman
15.10.2018
15:09:52

Максим
15.10.2018
15:10:00
Vykluchatel

Mikhail
15.10.2018
15:10:01

Sergey
15.10.2018
15:10:08
= )

Mikhail
15.10.2018
15:10:14
Типо сидишь такой, нихера не понятно, все глючит
И тут приходит ButtonDisoblytor!!1

Roman
15.10.2018
15:10:38
тогда вообще ButtonStateService#enabled?/disabled?

Mikhail
15.10.2018
15:10:46
Лучше даже так
ProblemDisoblator!

Максим
15.10.2018
15:11:39
MoneyPrinter

Mikhail
15.10.2018
15:11:39
Кароче, я бы сделал просто функцию и не парился

Roman
15.10.2018
15:12:01

Max
15.10.2018
15:12:03
ButtonDisablingServiceRunnerJob.new.call.blyat?

Google

Roman
15.10.2018
15:12:25

I
15.10.2018
15:12:28

Roman
15.10.2018
15:12:39
blyat?.net

Максим
15.10.2018
15:12:40
if error.present?
ButtonDisablingServiceRunnerJob.new.call.blyat?
end

Mikhail
15.10.2018
15:12:57

Sergey
15.10.2018
15:20:48
Кто понимает С или знает статью где расписано как внутри работает умножение числа на строку в руби?
http://ruby-doc.org/core-2.5.1/String.html#method-i-2A
я так понимаю здесь ведь нет такого что строка конкатенируется сама с собой в цикле кол-во раз которое пришло как в числе?
я вижу какое-то странное *=
так интересно пользоваться какими-то фичами как данностью, а потом задуматься как оно работает или как такое же написать и повиснуть)
цикл в цикле это же не круто

Vasya
15.10.2018
15:29:34

Eugene
15.10.2018
15:32:55

Sergey
15.10.2018
15:38:19
все-таки цикл... а без цикла нет способов?
например, на вход в функцию приходит буква и цифра, и нужно в новой строке вернуть букву склеенную в строку столько раз, какое значение пришло в цифре

Eugene
15.10.2018
15:39:42

Sergey
15.10.2018
15:45:12
Вопрос у меня возник когда я посмотрел на эту задачу:
https://www.codewars.com/kata/mumbling/train/javascript
решение которое смог придумать только цикл в цикле - сначала пройтись циклом длиной в длину строки, а внутри него склеить символ i раз
но цикл в цикле это уже большая сложность алгоритма
ответы я еще не смотрел, вот вспомнил про то что в руби это можно было бы легче сделать и начал думать как оно реализовано внутри

Alex
15.10.2018
16:21:49

Максим
15.10.2018
16:21:56

Alex
15.10.2018
16:22:18
в полиси
в своей полиси сделай delegate_to

Максим
15.10.2018
16:22:54
там помимо этого сервисного класса ещё другие проверки проходят всякие

Alex
15.10.2018
16:24:04

Google

Максим
15.10.2018
16:24:35
я не пробоавл ещё делегейт_ту поэтому не оч понимаю чем это упростит жизнь или тпа того

Alex
15.10.2018
16:25:15
он тут наверное не подойдет
лучше так
private
def disable_button_service
@disable_button_service ||= DisableButtonService.new
end
def button_disabled?
disable_button_service.call
end
Хотя может у меня деформация под воздействием кодстайла текущего проекта, не знаю

Максим
15.10.2018
16:26:59
ну выглядит вполне себе

Mikhail
15.10.2018
17:10:02
Зачем сервис

Alex
15.10.2018
17:10:38
не мой же код ))

Максим
15.10.2018
17:17:36

Mikhail
15.10.2018
17:17:53
И че?
Зато у тебя метод в котором аргументы сразу

Alex
15.10.2018
17:20:22
в policy может еще всякого дерьма быть
и чем дальше тем больше.
Тем временем вопрос для чата, есть ли что то типа ransack но json фильтровать?
есть json массив, хочется там фильтровать данные по разным критериям
какой нибудь users_count>45&paid=true

Google

I
15.10.2018
17:25:51
Мы свое писали небольшое решение

Alex
15.10.2018
17:26:47
я просто открытые данные с внешки забираю и хочется иметь возможность фильтровать это как угодно
Ладно спасибо.

Roman
15.10.2018
17:30:41

I
15.10.2018
17:34:02

Roman
15.10.2018
17:34:24

Alex
15.10.2018
17:36:01
каждый раз разные

Roman
15.10.2018
17:36:19
строкой типа?

Alex
15.10.2018
17:36:22
ага

Roman
15.10.2018
17:36:23
я понял

Alex
15.10.2018
17:36:31
что то типа jq да, ток для рельс

Roman
15.10.2018
17:36:37
да, легче свое написать. и заопенсорсить

malcev
16.10.2018
03:51:25