@proRuby

Страница 978 из 1594
Nikolay
20.12.2017
15:29:18
prefix = %w(office shoppingArea warehouse freeAppointment)[block.appointment_code + 1] cat = [prefix, type.capitalize].joins

Максим
20.12.2017
15:33:26
так так такдавайте ещё

Alexey
20.12.2017
16:07:37
prefix = { 1 => "office", 2 => "shoppingArea", 3 => "warehouse", 4 => "freeAppointment" }[block.appointment_code] cat = "#{prefix}#{type.capitalize}" выриант выше, но для любителей хэшей и интерполяции

но все это идет в топку, когда надо сравнивать по регулярке разные варианты

Google
Artem
21.12.2017
07:59:40
http://npmplease.com/

Максим
21.12.2017
09:03:42
какие у кого рюкзаки?

Anton
21.12.2017
09:08:46
Максим
21.12.2017
09:14:23
ссылку?

Alexander
21.12.2017
09:14:43
Anton
21.12.2017
09:15:37
https://www.xd-design.com/bobby

kolas
21.12.2017
09:22:33
надо попробовать его украсть ?

Alexander
21.12.2017
09:25:33
kolas
21.12.2017
09:26:23
просто пентест )

Roman
21.12.2017
09:33:20
Xiaomi

Alexander
21.12.2017
09:35:40
Xiaomi
они уже и рюкзаки начали делать?

Roman
21.12.2017
09:36:19
они уже и рюкзаки начали делать?
Ага, и еще много всего)

Google
Roman
21.12.2017
09:36:44
Кроме шуток - хороший рюкзак, и весьма не дорогой

Andrey
21.12.2017
09:53:22
я свой в капсуле покупал. там норм выбор

Nikolay
21.12.2017
09:57:31
Alexey
21.12.2017
10:12:41
какие у кого рюкзаки?
разные) есть беговой, велосипедный, и просто большой

Alexander
21.12.2017
13:30:05
а в рспек кроме shared_examples есть еще методы чтобы избежать дублирования?

Vasiliy
21.12.2017
13:34:17
модули можешь писать и инклудить их

https://relishapp.com/rspec/rspec-core/v/3-7/docs/helper-methods/define-helper-methods-in-a-module

Roman
21.12.2017
13:38:41
никто не сталкивался с такой проблемой: редис отвечает ошибкой SocketError: getaddrinfo: Name does not resolve

Vasiliy
21.12.2017
13:39:19
https://stackoverflow.com/questions/9654350/socketerror-getaddrinfo-name-or-service-not-known-sunspot-solr-rails-develo

Roman
21.12.2017
13:40:34
да я много гуглил :(

Roman
21.12.2017
13:59:50
никто не сталкивался с такой проблемой: редис отвечает ошибкой SocketError: getaddrinfo: Name does not resolve
это не редис отвечает, это твой код отвечает это в докере все или прям на машине?

Roman
21.12.2017
14:00:11
ему не нравилось имя хоста, поменял на redis и все норм

такая же фигня и с постгресом была, чего только не делал, оказалось, что надо было имя хоста поменять на postgres

Alexander
21.12.2017
14:15:22
как тестить приватные методы(send)? и надо ли?

Anton
21.12.2017
14:16:41
если расписывать подробнее

Vasiliy
21.12.2017
14:19:51
ты пишешь тесты —> они вызываешь публичные методы —> они вызывают приватные —> если паблик сломан то сломан и приват

Google
Roman
21.12.2017
14:20:11
имя хоста такое же как имя сервиса в docker-compose.yml
ааа, вот в чем суть, я прям прозрел

Roman
21.12.2017
14:20:29
send, не надо
ну я бы не был столь категоричен на счет "не надо". я обычно разделяю тесты, чтоб было проще

публичный метод покрыт 1-2 кейсами

Vasiliy
21.12.2017
14:20:46
можешь ковереджем покрыть чтобы видеть что код вызывался

Roman
21.12.2017
14:20:48
а приватные тестирую на все edge cases

Anton
21.12.2017
14:20:56
ты в приватные методы пихаешь либо: 1. отдельную бизнес логику 2. мелкие штуки, аля 1 строчники для поиска чего-то поэтому: 1. это надо выностить в отдельные сервисы, тестировать их отдельно, а потом просто инжектить это дело в основной сервис и тестировать, что зависимость вызывается 2. тест публичного метода будет вызывать приватный метод, который просто что-то сделает как черный ящик

Roman
21.12.2017
14:21:37
> тестировать их отдельно, а потом просто инжектить это дело в основной сервис и тестировать, что зависимость вызывается ну а если не выносить - то выходит как раз как я сказал

Roman
21.12.2017
14:21:50
а недостаточно просто экшены тестами покрывать? по сути в них вся логика вызывается

Vasiliy
21.12.2017
14:22:05
за send разве по рукам не хуярят?

Roman
21.12.2017
14:22:12
схуяли?

Vasiliy
21.12.2017
14:22:28
потому что есть public_send

Roman
21.12.2017
14:22:43
Anton
21.12.2017
14:22:57
а недостаточно просто экшены тестами покрывать? по сути в них вся логика вызывается
если ты не против долгих интеграционных тестов со сложным флоу генерации данных, что бы тесты проходили - то все ок

Roman
21.12.2017
14:23:18
вот допустим есть у тебя какая-то хрень, ради которой отдельный сервис городить - реально нет смысла

Anton
21.12.2017
14:23:54
если ты не против долгих интеграционных тестов со сложным флоу генерации данных, что бы тесты проходили - то все ок
ну как минимум, прямо сейчас рефакторинг пишу, можешь сравнить что надо было сделать до и сейчас, что бы просто проверить что экшен возвращает и все



Vasiliy
21.12.2017
14:24:13
тут ещё такой момент что даже в либах пишут что - мы не гарантируем работу приватных методов, не надо их юзать

Google
Roman
21.12.2017
14:24:43
ну короче это нормальный инструмент языка

Anton
21.12.2017
14:24:53
нет прямо 100 кейса, который всегда надо использовать

Roman
21.12.2017
14:25:00
зависит от того, что ты делаешь
вот у меня совсем недавно был метод который превращает строки типа "1.1" или "v1.1" в "V1_1". это был приватный метод, на который я набросал 5-6 кейсов

Anton
21.12.2017
14:25:29
ты его в одном месте юзаешь?

Roman
21.12.2017
14:25:33
да

выносить его - слишком много шума, тестить его поведение в более высокоуровневом методе - много шума для тестов высокоуровневого метода

Anton
21.12.2017
14:26:17
у меня для таких кейсов есть transproc

Roman
21.12.2017
14:26:24
шойта?

Anton
21.12.2017
14:26:25
который изолированно можно заинклюдить

и изолированно протестировать

https://github.com/solnic/transproc/

либа для трансформации данных

Roman
21.12.2017
14:26:53
аа прикольно

функциональщина

Anton
21.12.2017
14:27:01
ну

не совсем

просто штука для трансформации данных

Roman
21.12.2017
14:27:21
Transform Ruby objects in functional style =)

ну я понял, хороший вариант да

Google
Anton
21.12.2017
14:27:59
ну и тогда у тебя логика трансформации данных будет в одном месте

и все довольны

ну

минусы тоже есть

Roman
21.12.2017
14:28:25
ну для того случая я бы все равно такое не юзал. слишком много чести =)

Anton
21.12.2017
14:28:37
например, надо это вызывать примерно так f(:func_name).call(something)

Roman
21.12.2017
14:28:47
смысл в том, что иногда можно затестить и приватные методы

Anton
21.12.2017
14:30:24
ты так то можешь сделать все что угодно, другой вопрос, будет ли это решение поддерживаемым в будущем или нет

Roman
21.12.2017
14:30:46
будет элементарно

у меня будет на это отдельный describe в тестах

и если я решу что-то вынести отдельно - я как раз этот describe и унесу

преждевременная оптимизация в виде миллиона классов-сервисов - тоже зло

Vasiliy
21.12.2017
14:32:51
так то можно и тесты для либ писать(на всякий случай)

Roman
21.12.2017
14:33:14
это другое

Alexander
21.12.2017
15:44:41
Key is already in use - почему мне гитхаб такое пишет, когда я пытаюсь ссш ключ добавить? я его использовал только в гитлабе, но не в гитхабе

Dmitriy
21.12.2017
15:46:20
заговор гитлаба и гитхаба

Страница 978 из 1594