
Alexander
06.11.2016
16:25:41
Делал такое

johnny
06.11.2016
16:25:56
То есть, если пользователь сайта не залогиген, то при попыптке входа на /admins/sign_up его перекидывало на 404

Mikhail
06.11.2016
16:30:38
Сделай правило в before action если юзер не вошел рендер темпплейт 404
И повесь в область админки

Google

johnny
06.11.2016
16:33:16

Alex
06.11.2016
16:33:24

johnny
06.11.2016
16:33:35

Mikhail
06.11.2016
16:34:42
Можно в аппликатион контроллер сделать в before action правило, распарсить controller path и если там есть админ то отрендерить 404 темплейт если юзер не вошел

ZhmAA
06.11.2016
20:42:03
Всем привет. Кто хорошо знаком с action cable? Написал рабочий чат с регистрацией пользователей. Каждый пользователь может создавать свой чат, другие могут входить в созданные чаты. Но мне сейчас нужно сделать так, чтобы чаты были только 1 на 1. Т.е. юзер регистрируется, видит других и может создавать с ними только приватные чаты. Не могу пока понять как это реализовать. Может кто подскажет

Alexander
06.11.2016
21:07:25
А в чем сложность? ActionCable мельком смотрел, до этого работал с faye / private_pub / pusher / socket.io

ZhmAA
06.11.2016
21:12:55
Сложность скорее в недостатке опыта
Смутно понимаю как создать чат только для двоих пользователей

Alexander
06.11.2016
21:15:26
Если я правильно понял вопрос - то достаточно в контроллере чекать, что пользователь может получить доступ к этому чату, плюс со стороны action cable делать по отдельному каналу на чат
Ну из разряда - передаешь где-нибудь через data айдишник чата
и дальше бродкастишь по нему только

Google

Alexander
06.11.2016
21:16:31
это для начала, потому можно прикручивать всякие фишки для того, чтобы сторонний человек не мог просто так подписаться на нужный канал )
как самый простой вариант - генерация uuid-подобных идентификаторов для чата – вполне себе защитит от подбора ID канала
(это если вообще нужна такая функциональность)

ZhmAA
06.11.2016
21:18:32
Пока нет) это для практики задача, не для использования в будущем

Alexander
06.11.2016
21:18:57
тогда можно просто последовательные ID использовать и не париться :-)

ZhmAA
06.11.2016
21:20:15
Вроде понял, попробую

v
07.11.2016
07:36:55

Alex
07.11.2016
07:37:48
зачем усложнять каждую реализацию?

v
07.11.2016
07:38:00
почему не смогут?
если им дадут телефон в нужном формате

Alex
07.11.2016
07:38:57
одной подавай в одном формате
другой подавай в другом формате

v
07.11.2016
07:39:10
стоп

Alex
07.11.2016
07:39:10
а у меня реализации должны переключаться без проблем.
Так не катит

v
07.11.2016
07:39:52
ну ты же своим бросанием исключений сам заставляешь передавать в определенном формате

Alex
07.11.2016
07:40:00
Именно
и дальше реализации могут адаптировать его под себя

Google

Alex
07.11.2016
07:40:10
если он отличается.
допустим кому то не нужен + в формате, они его уберают т.к точно знают что там за формат телефона.

v
07.11.2016
07:40:27
ну смотри
только проверь сначала, как в разных странах с международными номерами дело обстоит

Alex
07.11.2016
07:42:34
есть стандарт международных номеров, E.164 вроде.

Alexander
07.11.2016
08:46:39
Кстати, бонусом можно добавить фичу для написания своих конвертеров и валидаторов для номеров, чтобы можно было легко добавить этот гем в текущую систему

Alex
07.11.2016
08:50:24
Тоже мысль.

Dmitriy
07.11.2016
12:28:22
ребят помогите
как найти слово в строке по ключевому символу
типа @user1 @user2 @user3
match(/@/)

I
07.11.2016
12:29:10
и что с ним должно произойти?

I
07.11.2016
12:29:18
просто получить?

Dmitriy
07.11.2016
12:29:25
да
вывести из всего мусора в строке именно слова начинающиеся на "@"

Alexander
07.11.2016
12:30:09
С @?

I
07.11.2016
12:30:22
str.scan(/@[a-z0-9]+/) пойдет?

Sergey
07.11.2016
12:30:30
str.scan(/@\w+/)

Alexander
07.11.2016
12:30:49
Тебе виднее по ситуации, но примерно... Как Сергей написал

Sergey
07.11.2016
12:31:06
ну зависит от конкретной постановки задачи

Google

Alexander
07.11.2016
12:31:08
Чтобы с собачкой — оберни всё в скобки внутри

Плюшка
07.11.2016
12:31:47
str.scan(/\b@\w+\b/) не?

Alexander
07.11.2016
12:32:21

Плюшка
07.11.2016
12:32:35
границу слова же

0x58
07.11.2016
12:32:37
выборка до границ слова

Alexander
07.11.2016
12:33:04
А зачем? Чем отличается?

Dmitriy
07.11.2016
12:34:02
хм

Admin
ERROR: S client not available

Плюшка
07.11.2016
12:34:23
иначе будут матчиться слова, у которых @ в середине
хотя мб это и надо?
(точнее части слов)

Dmitriy
07.11.2016
12:35:05
нет надо чтобы с первого символа
на "@"

Alexander
07.11.2016
12:35:57
Ща вернусь за комп и проверю, интересно

Dmitriy
07.11.2016
12:36:14
Все варианты работают! Ура!!

0x58
07.11.2016
12:36:15
'@user1 @user2 @user3'.scan(/\b@\w+\b/)
не работает
2.3.0

Dmitriy
07.11.2016
12:37:01
@dx0x58 именно этот не работает да
а первые 2 работают

Alexander
07.11.2016
12:37:50

Google

Dmitriy
07.11.2016
12:38:54
у меня вопрос если в слове будут цыфры например @User007 то данное выражение сработает str.scan(/@\w+/)
?
цифры*

0x58
07.11.2016
12:39:15
да

Dmitriy
07.11.2016
12:39:30
буду изучать регулярные выражения)

0x58
07.11.2016
12:39:34
w - все кроме символов

Alexander
07.11.2016
12:39:48

Dmitriy
07.11.2016
12:40:23
?

Alexander
07.11.2016
12:40:30

0x58
07.11.2016
12:40:51
нет

Кирилл
07.11.2016
12:41:05
только словообразующие (буквы и цифры)

Alexander
07.11.2016
12:41:38
нет
Ок, значит запамятовал. Тоже стоит учесть Дмитрию

0x58
07.11.2016
12:42:14
здесь можно регулярки проверять http://rubular.com/ если кто не знаком

Alexander
07.11.2016
12:43:16

Max
07.11.2016
12:43:47

Dmitriy
07.11.2016
12:43:52
Да, в закладки
здесь можно регулярки проверять http://rubular.com/ если кто не знаком

0x58
07.11.2016
12:44:36
на reg101 руби нет же

Dmitriy
07.11.2016
12:47:57
еще вопрос такой, а грамотно ли я послупаю когда хочу убрать большое количество логики из контроллеров, создавая приватные методы в Concern и используя их в контроллере?