
Andrey ?
02.10.2016
09:14:12
Понятное дело

Alexander
02.10.2016
09:28:40

Alex
02.10.2016
16:28:46
Что то не могу понять чего рубокоп ругается на это:
if spec.respond_to?(:metadata)
spec.metadata["allowed_push_host"] = "https://rubygems.org"
else
raise "RubyGems 2.0 or newer is required to protect against public gem pushes."
end
Use a guard clause instead of wrapping the code inside a conditional expression. (Style/GuardClause)

Ivan
02.10.2016
16:31:56
в общем, убери else и поставь на его место end

Google

Alexander
02.10.2016
16:34:38

Nikolay
02.10.2016
16:34:42
видимо потому что метод состоит только из этого условия

Alexander
02.10.2016
16:34:52

Nikolay
02.10.2016
16:34:59
сделай raise unless
а остальное без условия

Alex
02.10.2016
16:35:14

Alexander
02.10.2016
16:35:31

Alex
02.10.2016
16:36:14
Стояло в конце? ты имеешь ввиду blablah unless и т.д? я знаю что такое guard clause. Я не понимаю чего он именно к этому куску прицепился.
Выглядит вполне логичным условием.
Хотя возможно именнно потому что он это понял и решил что логичнее просто raise сначала ввести вместо такого условия.

Nikolay
02.10.2016
16:37:46
зато если сделаешь raise unless, то будет ругаться на длину строки
я бы оставил так

Alexander
02.10.2016
16:38:23

Google

Alex
02.10.2016
16:38:35
Я понял тебя, спасибо.

Alexander
02.10.2016
16:39:03

Alex
02.10.2016
16:39:04
unless spec.respond_to?(:metadata)
raise "RubyGems 2.0 or newer is required to protect against public gem pushes."
end
spec.metadata["allowed_push_host"] = "https://rubygems.org"
Так норм вполне.

Alexander
02.10.2016
16:39:28
Так норм вполне.
да, вполне. строчку можно вынести в переводы или константу, например, но да.

Alex
02.10.2016
16:39:38
Это gemspec
этот код по дефолту бандлером генерится.
https://github.com/Fedcomp/active_sms
А вот кстати сам гем. Унифицированная отправка смсок в руби

Nikolay
02.10.2016
18:48:25
допилил таки
>active
ну такоэ

Alex
02.10.2016
18:48:32
Ага, теперь хоть юзать можно.

Alexander
02.10.2016
18:48:47
>active
ну такоэ
да, тоже смутило, но спасибо, что без active_support в зависимостях

Alex
02.10.2016
18:49:06
Гем сам по сбее ни с кем не работает

Alexander
02.10.2016
18:49:30

Alex
02.10.2016
18:49:33
Теперь поверх него будет версия для рельс, но потом.
https://github.com/Fedcomp/active_sms#writing-your-own-sms-backend

Google

Alexander
02.10.2016
18:50:39

Lupsick
02.10.2016
18:50:53
ну так легче взять гем компании https://github.com/asiniy/sms_ru
и отправлять сразу без ебли
а тут бекенд какой-то писать

Alexander
02.10.2016
18:51:50

Lupsick
02.10.2016
18:52:07
не кучу, а одну

Alexander
02.10.2016
18:52:17
а абстракции — это хорошо. у тебя один интерфейс, замена кода минимальна. но пригождается редко, да

Alex
02.10.2016
18:52:43

Lupsick
02.10.2016
18:52:53

Alex
02.10.2016
18:52:53
Но тем не менее видеть код

Alex
02.10.2016
18:52:55
что ты делаешь?
потому что на локалке у тебя фронтендер может разрабатывать например
с какой стати он будет реальные смски слать?

Lupsick
02.10.2016
18:53:15
я сделал себе воркер который смотрит ивенты в amqp и отправляет нотификации

Alexander
02.10.2016
18:53:18
почему не отправлять?
ну потому что зах для тестов одной вещи тянуть ещё отправку смс? ну, деньги тратить на это

Alex
02.10.2016
18:53:27
а теперь ты понял что smsru гавно, что теперь? переписывать весь код который его юзает.
Проще взять унифицированный интерфейс с кучей реализаций.
Особенно если у тебя нет предпочтения по сервису.

Google

Lupsick
02.10.2016
18:53:49

Nikolay
02.10.2016
18:53:51
у нас в разное время юзалось 4 разных провайдера для смс

Alexander
02.10.2016
18:53:52

Nikolay
02.10.2016
18:54:05
то дорого, то даунтайм в два дня у провайдера, то еще что-то

Alex
02.10.2016
18:54:07
Да, согласен. Это тоже важная часть

Alexander
02.10.2016
18:54:11

Alex
02.10.2016
18:54:14
в дальнейшем напилю побольшще реализаций.

Admin
ERROR: S client not available

Alexander
02.10.2016
18:54:45
так. зачем юзают active_record и sequel, если есть pg и mysql? ну, эээм
(не очень корректный пример, но утрированный и доходчивый, я надеюсь)

Lupsick
02.10.2016
18:55:11
нихуя себе быстро

Alex
02.10.2016
18:55:15
В общем когда мне пришлось столкнуться с смсками в моей работе, я сначала думал что будет просто. Потом понял что подводных косяков полно.

Alexander
02.10.2016
18:55:37

Alex
02.10.2016
18:55:56
смс-бэкенд на самом деле быстро пишется :/

Lupsick
02.10.2016
18:55:57

Alex
02.10.2016
18:56:09
Который vendor lock.

Lupsick
02.10.2016
18:56:16
и что лол

Google

Alexander
02.10.2016
18:56:18
потому что меняешь один (!) файл, а не всё, где делается отправка смс. если ты молодец — то ты уже написал свою прослойку для этого. если нет — вот гем. полезная вещь

Lupsick
02.10.2016
18:56:20
switch case

Alexander
02.10.2016
18:56:30

Lupsick
02.10.2016
18:56:40

Alexander
02.10.2016
18:56:46
а можешь ЕГО ЖЕ (вендроный гем) заюзать на бэкенде прослойки
воркер для нотификаций
не все любят воркеры. советую поискать статью на тему, почему подход с воркерами плохой.

Alex
02.10.2016
18:57:12
разные юзкейсы бывают.
не спорю, сам совал в воркера и везде его юзал.

Lupsick
02.10.2016
18:57:43

Alex
02.10.2016
18:57:48
Но в рубишном скрипте например воркеров не будет.

Lupsick
02.10.2016
18:57:48
у тебя в amqp заходит заявка
типа отправь тому-то
воркер смотрит, отправляет

Alexander
02.10.2016
18:58:09

Alex
02.10.2016
18:58:11
Это в рельсах.
У меня общерубишный гем.

Lupsick
02.10.2016
18:58:30
каких рельсах бля
берешь ставишь rabbitmq докером
или не докером
и сидишь слушаешь отдельным рубишным скриптом что там происходит