
Alex
03.04.2017
13:03:49
так что все вполне честно, пока ты не платишь.

Alexander
03.04.2017
13:06:17

Alex
03.04.2017
13:06:27
гитлаб постоянно RC выкатывает

Google

Alex
03.04.2017
13:06:30
на прод

Alexander
03.04.2017
13:06:39
?

Alex
03.04.2017
13:06:56
у них периодически видно табличку "deploying Gitlab RC4, expecting no downtime" и постоянно ловлю downtime
ну RC с версией само собой.
они на бесплатных юзерах тестах RC билды, я уверен.
насчет платных не знаю - надеюсь что нет.
С другой стороны иначе им было бы негде тестить билды.

Maksim
03.04.2017
13:10:11
Починили RubyMonk

Alexander
03.04.2017
13:25:43

Maksim
03.04.2017
13:26:17
Да. Это я слоупок)
Только недавно заценил сей шедевр, раньше доступа не было

Alexander
03.04.2017
13:27:28

Vlad
03.04.2017
14:28:41
Привет. Прошу совета.
class Handler
MAP = {
foo: {
bar: {
baz: proc{ puts 'foo - bar - baz' }
},
kek: {
x: {
y: proc{ puts 'foo - kek - x - y'}
}
}
}
}
def handle(message)
# ?
end
end
payload = { foo: { bar: :baz }}
Handler.new.handle(payload)
# => 'foo - bar - baz'
Как организовать #handle, чтобы оно маппило входящий хэш согласно константе MAP?
При этом если смаппить не удалось - кидался еррор.

Google

I
03.04.2017
14:29:40
а на выходе что хочешь получить? просто найти нужный прок и его выполнить?

Vlad
03.04.2017
14:29:46

Alexander
03.04.2017
14:29:52

Vlad
03.04.2017
14:30:27
Мозги не работают, не выспался, наверное (или дурак):
h = { a: { b: 'foo' }}
Как конвертнуть в [:a, :b], с бесконечной вложенностью? Может, готовый метод есть ?

Alexander
03.04.2017
14:33:47
тебе не очень просто будет, придётся Hash разложить, потом уже диггать, потом вызывать прок

Vlad
03.04.2017
14:33:57
Да-с

Dimon
03.04.2017
14:34:14
спроектируй нормальный пэйлоад

Alexander
03.04.2017
14:34:21

Roman
03.04.2017
14:34:51
рекурсия спасет отца русской демократии
ну и keys, flatten

Dimon
03.04.2017
14:36:44
если бы пэйдлоад был норм, то можно было бы сделать так
h = { keys: [:xyi, :pizda]}
dig(*h[:keys])
без хуйни

Vlad
03.04.2017
14:37:24
пейлоад гарантированно будет "плоским"
Один key - одно value
{:a=>{:b=>{:c=>"foo"}}}

Dimon
03.04.2017
14:38:03
это не плоский

Roman
03.04.2017
14:38:16
ре кур си я

Vlad
03.04.2017
14:38:17
Ну, я не знаю, как это называется

Dimon
03.04.2017
14:38:29
это вложенный

Google

Alexander
03.04.2017
14:39:01

Vlad
03.04.2017
14:39:48

Dimon
03.04.2017
14:40:20
токда рекурсивно бегай, тебе Роман там советовал

I
03.04.2017
14:40:29
напиши функцию рекурсивную для собирания составного ключа

Vlad
03.04.2017
14:40:39
Да, я это уже понял)
Благодарю

Roman
03.04.2017
14:47:07
def dig_for_keys(hash)
hash.each_pair.map do |k, v|
if v.is_a?(Hash)
[k, dig_for_keys(v)]
else
[k, v]
end
end.flatten
end
дело было вечером, делать было нечего
irb(main):053:0> dig_for_keys({:a => {:b => :c}})
=> [:a, :b, :c]

Vlad
03.04.2017
14:50:42

Alexander
03.04.2017
15:02:58

Roman
03.04.2017
15:03:22
куда?
зачем?
меня и тут неплохо кормят

Eugene
03.04.2017
15:03:44
Роман посмотри в слак

Roman
03.04.2017
15:03:57
ой бля точно

pchellovod
04.04.2017
09:21:05
а если я в классе напишу новый метод и назову его to_s - это переопределит существующий метод to_s?

Eugene
04.04.2017
09:21:10
да

Alex
04.04.2017
09:21:12
да

Google

Dimon
04.04.2017
09:21:35
только для инстанса этого класса

pchellovod
04.04.2017
09:21:36
ухтыкруто

Meowfka
04.04.2017
09:22:40

Vasiliy
04.04.2017
09:22:42
да

Dimon
04.04.2017
09:23:10
и что?

Meowfka
04.04.2017
09:23:48
nil – это пустое значение
Примерно так же в тему

Alex
04.04.2017
09:24:30
nil это значение!

Meowfka
04.04.2017
09:25:00
Переменным можно присвоить это значение!

Admin
ERROR: S client not available

Dimon
04.04.2017
09:25:01
так в чем ты хочешь упрекнуть меня?

pchellovod
04.04.2017
09:25:03

Meowfka
04.04.2017
09:25:08
Переменные можно присвоить

pchellovod
04.04.2017
09:25:58
и ещё оказывается в интерполяции to_s вызывается автоматически

Meowfka
04.04.2017
09:26:02
Ну, это лечится

Alex
04.04.2017
09:26:18

pchellovod
04.04.2017
09:26:38
хз

Dimon
04.04.2017
09:26:39
конкатенацией

Alex
04.04.2017
09:27:32

Google

Alex
04.04.2017
09:27:34
или цифры?

Dimon
04.04.2017
09:29:26
очевидно Bingo.to_s + 123.to_s

Meowfka
04.04.2017
09:29:49
И опять же .to_s

Dimon
04.04.2017
09:29:59
но с конкатенацией

Sergey
04.04.2017
09:31:18

Dimon
04.04.2017
09:33:01
Marshal.dump("thing") + Marshal.dump(123) + Marshal.dump(String)

Vasiliy
04.04.2017
09:33:04
вообще очень не советуют переопределять эти методы

Dimon
04.04.2017
09:33:06
а еще так можно

Alex
04.04.2017
09:34:25

Vasiliy
04.04.2017
09:35:55
хотя не, рекомендуют просто правильно их определять

Alexander
04.04.2017
09:42:09
И тут:
https://rubymonk.com/learning/books/4-ruby-primer-ascent/chapters/45-more-classes/lessons/108-displaying-objects

Vasiliy
04.04.2017
09:49:55
но я б не советовал переопределять, лучше лишний метод написать который как тебе надо выводит

Dimon
04.04.2017
13:57:24
шарит кто в тестировании демонов?

I
04.04.2017
13:58:23

Kirill
04.04.2017
14:00:41
Ребят, кто как дебажит внутри докер контейнера?

Alex
04.04.2017
14:01:25
дебажит что?
binding.pry? Я.

Kirill
04.04.2017
14:02:01
Руби код, я имел ввиду

Alex
04.04.2017
14:02:26
дебажить по разному можно, понимаешь же?

I
04.04.2017
14:02:50
да, поэтому давай просто спросим