
Ivan
23.03.2017
10:37:48
Ребят, подскажите кто в курсах, сколько в epam'e в Минске средняя зп у сеньёров?

Антон
23.03.2017
11:16:14

Eugene
23.03.2017
11:16:32
О, привет :)
И правда)

Google

Антон
23.03.2017
11:16:51
но я не HR поэтому я плохо собеседовал :)

Eugene
23.03.2017
11:20:27
Да нормально получилось)
Разработчика-то нашли кстати?

Anon
23.03.2017
11:22:23
Рельсы, раутер, есть раут с вайлдкардом вида
get '*path/foo', to: 'what#ever'
но он всегда будет раутить к экшону WhatController#ever.
Когда мне обычно нужно как-то динамически высчитать, куда его направить, используется to: redirect { }.
Но если мне не нужен редирект, но нужно автоматически высчитать, в какой экшон какого контроллера его направить?

Антон
23.03.2017
11:23:05

ojab
23.03.2017
11:29:19
ну или при старте создать нужные роуты с нужными constrain'ами и т. п., если они в рантайме не будут изменяться
(i. e. constraints.each { |c| get '*path/foo', to: 'whatever#index', constraint: c })

Anon
23.03.2017
11:46:56
Лямбду to: не кушает
а стоп
кушает
спасибо

Google

Антон
23.03.2017
11:50:37
это просто аргумент

Vasiliy
23.03.2017
12:16:37
Ольга а правда в кроссовер раз в сколько-то минут делает снимок камерой ноутбука?

Sergey
23.03.2017
12:17:20
Говорят что да
http://xpinjection.com/articles/crossover-discussions/

Антон
23.03.2017
12:28:59
если ты сеньер то фотки экрана делать не имеет смысла
ПМ может как включить фотки в тех процесс так и не включать
с сеньера спрашивают результаты
а не сиськи и котиков которые он рассматривает чтобы подстегнуть нервную систему и выработку дофамина ?

I
23.03.2017
12:31:11
чтобы не спиться от прекрасного проекта

Vasiliy
23.03.2017
12:35:45
чуваки, я опять с тестами, у меня есть сервис который в себе отправляет смс, как бы мне до него добраться и застабить генерацию кода?
ConfirmationService.new(user).send_confirmation_token
внутри метода send_confirmation_token как раз вызывается приватный generate_token который как раз генерит шифрованный токен и оригинальный

Sergey
23.03.2017
12:41:48
allow_any_instance_of(ConfirmationService).to receive(:send_confirmation_token).and_return(:something)

Vasiliy
23.03.2017
12:46:02
cпасибо

Eugene
23.03.2017
12:57:17

Антон
23.03.2017
12:57:40
Не тех собес?
тех
просто нужна структура ведения данных собеседуемых
Бурмакина я не помню о чем собеседовал и чем кончилось

ojab
23.03.2017
12:58:36
cпасибо
использовать any_instance_of — плохая практика, лучше сделать allow(ConfirmationService).to receive(:new).and_return(confirmation_service) и делать что угодно с этим самым confirmation_service

Vasiliy
23.03.2017
12:59:36
у меня это в юзере вызывается
delegate :send_confirmation_token, to: :confirmation_service
delegate :confirm_by_token, to: :confirmation_service
private
def confirmation_service
ConfirmationService.new(self)
end

ojab
23.03.2017
13:01:04
делегировать в приватные методы — плохая практика
https://bugs.ruby-lang.org/issues/12782

Google

Vasiliy
23.03.2017
13:02:56
Статус:
Closed
ну и таким его сделал рубокоп

I
23.03.2017
13:04:25

Vasiliy
23.03.2017
13:05:34
мне б по сути где-нить обернуть этот generate_token так чтобы вызывался оригинальный, но с моими параметрами
а оригинальный такой
def generate_token
loop do
original_token = yield
digested_token = Devise::Encryptor.digest(User, original_token)
break [original_token, digested_token] unless User.exists?(confirmation_token: digested_token)
end
end

Anon
23.03.2017
13:43:23
get '*path/foo', to: -> (req) {
original_path = req['ORIGINAL_FULLPATH'].sub(/\/foo\z/, '')
path = Rails.application.routes.recognize_path(original_path)
"#{path[:controller]}##{path[:action]}"
}, as: :foo
ломается где-то в раутере
я так понимаю от меня требуется в лямбде вернуть не строку а что-то другое
гугл не помогает

Антон
23.03.2017
13:46:08
что ломается, что ожидается?

Anon
23.03.2017
13:47:13
ожидается:
раут вида что/угодно/foo, который на деле будет рендерить это самое что/угодно

Антон
23.03.2017
13:47:51
спек на роуты написал?

Anon
23.03.2017
13:48:03
т.е. кривым псевдокодом: get '*path/foo', to: '*path'

Антон
23.03.2017
13:48:14
нене, спек напиши
будь мужыком!

Anon
23.03.2017
13:48:47
что, простите?

Антон
23.03.2017
13:49:12
https://relishapp.com/rspec/rspec-rails/docs/routing-specs

Vasiliy
23.03.2017
13:52:46
спеки на роуты, фи

Anon
23.03.2017
13:53:13
expect(get: "/users/vasja/foo").to route_to(
controller: "users",
nick: "vasja"
)
expect(get: "/events/sports/volleyball/11-20-17/foo").to route_to(
controller: "sports",
type: "volleyball",
date: "11-20-17"
)

Google

Anon
23.03.2017
13:53:18
допустим
Я спеки не пишу, не бейте ток

Eugene
23.03.2017
13:53:40
??

Alexander
23.03.2017
13:54:02
Кто-нибудь использовал "ORDER BY <something> NULLS FIRST с postgresql? У меня когда выборка так отсоритровна, и я делаю offset c limit часть записей выводится по два раза (на 1 и 3 выборке), а часть вообще не выводится.

Антон
23.03.2017
13:56:28
gist только оформи

Alexander
23.03.2017
13:57:30
https://gist.github.com/kunashir/36b7c0aedf0c8defe79ede700bdbad4b

Антон
23.03.2017
13:58:51

Admin
ERROR: S client not available

Anon
23.03.2017
13:58:54
Опишу проблему немного иначе.
get '*path/foo', to: 'landing#index' # => работает
get '*path/foo', to: redirect { 'landing#index' } # => работает
get '*path/foo', to: -> (req) { 'landing#index' } # => actionpack (5.0.0.1) lib/action_dispatch/journey/router.rb, line 41, undefined method `[]' for nil:NilClass

Alexander
23.03.2017
13:59:29
Пока вот не пойму

Anon
23.03.2017
13:59:43
а не сорьте, редирект пишется чуть иначе
не 'landing#index'

Антон
23.03.2017
14:00:46

Anon
23.03.2017
14:01:05
суть в том, что что-то ожидается от лямбды, но не строка. Может я должен что-то добавить/изменить в передаваемый req и его вернуть, но я не могу нагуглить что

Антон
23.03.2017
14:01:23

Anon
23.03.2017
14:01:43
что

Антон
23.03.2017
14:02:00
у тебя landing/index в роутах
а в спеках sports users

Anon
23.03.2017
14:02:07
landing#index я для примера дал, кам он
упрощение тип

Google

Антон
23.03.2017
14:02:25
я не понимаю что ты хочешь сказать этим примером

Anon
23.03.2017
14:02:32
fff

Антон
23.03.2017
14:02:52
зачем тебе там лямбда мне не понятно
и почему там лямбда мне тоже не понятно
что ты хочешь не понятно
что ты там скрываешь? двигатель судного дня?
почему лямбда после :to где ты видел такую конструкцию в документации?

Anon
23.03.2017
14:05:20
Я хочу, чтобы "абсолютно любой раут" с /foo на конце, ссылался на этот "абсолютно любой раут", для того и лямбда. Еще мне нужно перед тем как отрисовать этот "абсолютно любой раут" ранился произвольный код
я *path не просто так же написал

Andrey ?
23.03.2017
14:06:27
Осталось понять, зачем тут лябмда

Антон
23.03.2017
14:06:36

Anon
23.03.2017
14:08:16
constraints же просто ограничения накладывает, или я не туда смотрю?

Антон
23.03.2017
14:10:09
ну сделай to: AwesomeRouter.call(request)
и опиши этот AwesomeRouter

Anon
23.03.2017
14:11:31
а request у меня откуда?
без лямбды-то

Антон
23.03.2017
14:15:35
а я не помню, но он так где-то есть
нагугли
когда-то давно делали такое, работало

ojab
23.03.2017
14:28:13

Anon
23.03.2017
14:30:14
Спасибо огромное