
trickster
11.10.2016
11:03:36
e&?
а не &.?

Alex
11.10.2016
11:53:04

Mikhail
11.10.2016
11:53:35
def method
some
end

Google

Alex
11.10.2016
11:53:39
def method
some
end

Mikhail
11.10.2016
11:53:52
вот тебе и код, нету тут форматирования

Alex
11.10.2016
11:54:26
def python_good:
pass
Тут нет подсветки, а не форматирования.
Форматирование сохраняется

Mikhail
11.10.2016
11:55:02
ну да
можно в поддержку написать
мол запилите подсветку кода

Alex
11.10.2016
11:55:26
Я тоже щитаю что в телеграме не хватает подсветки
но возможно это слишком узкий кейс
Как то новости телеграма больше про масочки да про игры

Mikhail
11.10.2016
11:56:43
Надо просто стучать в поддержку и попросить

Google

Mikhail
11.10.2016
11:56:47
чем больше тем лучше

Alex
11.10.2016
11:56:58
Надо просто форкнуть телеграм и реализовать ?

Mikhail
11.10.2016
11:57:35
а приложения мобильные ты тоже форкнешь
мистеркопипастер

Alex
11.10.2016
11:58:18
если сорсов нет - то не форкну

Mikhail
11.10.2016
11:58:36
думаю сорсов на мобильные нет, хотя не уверен

Alex
11.10.2016
11:59:35
https://tlgrm.ru/sources

Mikhail
11.10.2016
11:59:56
ооо

Alex
11.10.2016
11:59:59
У ребят имхо лучшая политика в этом плане.

Mikhail
11.10.2016
12:00:02
ваще крутые

Alex
11.10.2016
12:00:03
У них только сервер закрыт
Во первых телеграм под все актуальные платформы
Во вторых еще и клиенты заопенсорсены.
У всяких вайберов и ватсапов даже клиентов почти нет.
Уху, реальный вопрос для конфы!
Почему рубокоп ругается?
unless @logger.respond_to?(@level)
raise ArgumentError, "Class should implement logger interface"
end
> Use a guard clause instead of wrapping the code inside a conditional expression. (Style/GuardClause)
Если я делаю это в guard стиле то строка выходит за лимит размера (слишком большая). Почему он ругается?

Антон
11.10.2016
12:23:03
потому что нужен
return if @logger.respond_to?(@level)
raise

Alex
11.10.2016
12:23:20
из initialize?
оно тихо сожрет ошибку, мне это не надо

Антон
11.10.2016
12:23:41
я понятия не имею где это у тебя

Alex
11.10.2016
12:23:47
Вот так это выглядит.

Google

I
11.10.2016
12:23:56
http://www.rubydoc.info/github/bbatsov/rubocop/Rubocop/Cop/Style/GuardClause
Вот что хочет рубокоп

Антон
11.10.2016
12:24:06
return
raise

Aldar
11.10.2016
12:24:19
Может хочет чтобы в одну строчку было написано?

Антон
11.10.2016
12:24:20
инишилайз не сожрет ошибку
он сломается

Aldar
11.10.2016
12:24:31
do_something unless condition

I
11.10.2016
12:24:36

Alex
11.10.2016
12:24:58

Антон
11.10.2016
12:25:05
блять
return
raise
что не понятно то?

Alex
11.10.2016
12:25:27

I
11.10.2016
12:25:33
оу

Alex
11.10.2016
12:25:35
return
raise
Я и в первый раз твое сообщение прекрасно видел.

I
11.10.2016
12:25:36
все плохо

Антон
11.10.2016
12:25:51
return if @logger.respond_to?(@level)
raise ArgumentError, "Class should implement logger interface"
guard clause называется

Alex
11.10.2016
12:27:09
Я с такой формой не сталкивался. С формой сзади - сам писал. А вот спереди нет.

I
11.10.2016
12:27:57
где спереди?

Google

Антон
11.10.2016
12:27:57
если это последнее условие - то ок

Alex
11.10.2016
12:28:00
Ща тестами обложу, посмотрим. Мне кажется оно не работает как должно

I
11.10.2016
12:28:04
что спереди?

Антон
11.10.2016
12:28:17
только оно работает

Alex
11.10.2016
12:28:22

Антон
11.10.2016
12:28:26
но тестами надо обложить

Alex
11.10.2016
12:28:35
На мой взгляд тут ArgumentError это и не выскочит. Ща посмотрим.

Admin
ERROR: S client not available

Антон
11.10.2016
12:31:19
можно еще
@logger.respond_to?(@level) ||
raise(ArgumentError, "Class should implement logger interface")
но не так красиво
а вообще это NotImplementedError

Alex
11.10.2016
12:33:15
Фигасе. Оно действительно работает

Aldar
11.10.2016
12:33:41

Alex
11.10.2016
12:33:44

Антон
11.10.2016
12:34:03
а
ну тогда да

Alex
11.10.2016
12:34:37
https://ruby-doc.org/core-2.2.0/NotImplementedError.html
> Raised when a feature is not implemented on the current platform
Не катит сюда.
К тому же я ожидаю что программист будет эту ошибку в деве ловить.
Поэтому от типа ошибки не многое нужно.

Антон
11.10.2016
12:35:26
серавно что-то не то

Google

Антон
11.10.2016
12:36:20
логгер тебе передали
значит он как аргумент валиден
а то что логгер не тот
тогда не Class должен имплементировать интерфейс
а logger должен имплементировать интерфейс
но тогда это ошибка логера но не аргумента

Alex
11.10.2016
12:36:27
Да, я не сразу понял посыл твоего сообщения. Я unless поставил и оно всегда срабатывало
ща буду дебажить
метод есть? на остальное плевать.
Хоть мок мне суй.
Все эти проверки на "реальный класс" усложняют все, в т.ч тесты.

Антон
11.10.2016
12:38:34
серавно не аргумент еррор, хоть мок хоть класс

Alex
11.10.2016
12:39:26
Почему не аргумент эррор? ты мне суешь ложные данные, меня это не устраивает. Аргументы невалидны
Разве что в рубях ArgumentError значит совсем не то что я думаю.

Антон
11.10.2016
12:39:51
аргумент валиден, содержимое аргумента не валидно

Alex
11.10.2016
12:40:05
А это не одно и тоже?

Антон
11.10.2016
12:40:23
по-моему нет
надо йоппа или ожаба
тут моего мнения не достаточно

Alex
11.10.2016
12:41:08
http://apidock.com/ruby/ArgumentError

Иван
11.10.2016
12:41:13

Alex
11.10.2016
12:41:17
http://stackoverflow.com/questions/2843255/how-to-test-that-invalid-arguments-raise-an-argumenterror-exception-using-rspec
По крайней мере я не одинок в таком понимании невалидности аргумента.
И вроде в гемах которые юзал видел такое же.

Антон
11.10.2016
12:42:15
так logger то валиден

Alex
11.10.2016
12:42:34
Посмотри, в одной из ссылок проверяется что аргумент - цифра