Size: a a a

pro.rb (Ruby/Rails / RU)

2020 February 06

AA

Alexander Andreev in pro.rb (Ruby/Rails / RU)
Roman Usherenko
это фичер спеки? capybara сама это умеет
просто рспек
источник

AA

Alexander Andreev in pro.rb (Ruby/Rails / RU)
но там у меня интеграционный тест, это да
источник

DP

D. P. in pro.rb (Ruby/Rails / RU)
Alexander Andreev
а можно ли в руби сделать что то типа?
ждать событие 1 сек
1 если оно пришло быстрее, то вырубать таймер(убивать тред или типа того), чтобы не ждать остальное время
2 если не пришло, рейзить ошибку
Можно
источник

AA

Alexander Andreev in pro.rb (Ruby/Rails / RU)
D. P.
Можно
подробнее плез. можно в личку, если много писать
источник

DP

D. P. in pro.rb (Ruby/Rails / RU)
Это в initialize


     if @tmout
       @oblomov = Thread.new {
         sleep tmout
         @action.new.arbeiten!
         queue.delete
       }
     end

А это обработчик в другом месте

    def handle_cancellation(_)
     Log.warn{ "Выключается #{ self.inspect }"}
     @cancelled = true
     @oblomov.kill if @oblomov
   end
источник

DP

D. P. in pro.rb (Ruby/Rails / RU)
Можно ловить назначение переменной в Thread

https://ruby-doc.org/core-2.7.0/Thread.html#method-i-5B-5D
источник

DP

D. P. in pro.rb (Ruby/Rails / RU)
Можно слушать очередь Queue в нескольких местах
источник

AA

Alexander Andreev in pro.rb (Ruby/Rails / RU)
спасибо. посмотрю
источник

DP

D. P. in pro.rb (Ruby/Rails / RU)
Ага, пожалуйста.
Ну и можно это сделать классически через Mutex, поищи ruby mutex
источник

AA

Alexander Andreev in pro.rb (Ruby/Rails / RU)
Mutex - у меня сразу флешбеки от этого слова
источник

AI

Alex Ilizarov in pro.rb (Ruby/Rails / RU)
Alexander Andreev
Mutex - у меня сразу флешбеки от этого слова
ну в C++ он жопошный )
источник

RU

Roman Usherenko in pro.rb (Ruby/Rails / RU)
Alexander Andreev
спасибо. посмотрю
ты расскажи, что ты за систему тестируешь?
но да, в капибаре это сделано через обычный sleep(0.01), но это потому что следит она за "браузером", который от этого sleep не спит сам. то есть руби скрипт останавливается, а мир вокруг него - нет
источник

AA

Alexander Andreev in pro.rb (Ruby/Rails / RU)
Roman Usherenko
ты расскажи, что ты за систему тестируешь?
но да, в капибаре это сделано через обычный sleep(0.01), но это потому что следит она за "браузером", который от этого sleep не спит сам. то есть руби скрипт останавливается, а мир вокруг него - нет
надо дождаться сообщения от кролика
источник

AA

Alexander Andreev in pro.rb (Ruby/Rails / RU)
пока сделал просто слипом
источник

RU

Roman Usherenko in pro.rb (Ruby/Rails / RU)
Alexander Andreev
надо дождаться сообщения от кролика
ну так ебашь слип и всё)
источник

AA

Alexander Andreev in pro.rb (Ruby/Rails / RU)
Roman Usherenko
ну так ебашь слип и всё)
источник

RU

Roman Usherenko in pro.rb (Ruby/Rails / RU)
"все так делают"©
источник

DP

D. P. in pro.rb (Ruby/Rails / RU)
Alexander Andreev
надо дождаться сообщения от кролика
А consumer забабахать не?
источник
2020 February 13

VF

Vlad Faust in pro.rb (Ruby/Rails / RU)
Пишу .tmLanguage для некоего языка. Там есть fixed-point decimal literals, например 0.99D32x2 и 17.125D32x3; значение до x — размер в битах; значение после — fraction size. Например, при fraction size == 2 после точки должно быть не более двух цифр. Так вот, я бы хотел зафорсить это на уровне подсветки синтаксиса.

Используемый движок Regexp'а — Oniguruma. Он вроде как умеет захватывать значения и вставлять их в регекс, но у меня пока не получается. Вот до чего я дошёл (не работает, как нужно):

\d+\.(?=\d+D\d+x(?<fraction>\d+))\d{\g<fraction>}D\d+x\d+

Я понимаю, что это очень нетривиально, но всё же...
источник

RU

Roman Usherenko in pro.rb (Ruby/Rails / RU)
Vlad Faust
Пишу .tmLanguage для некоего языка. Там есть fixed-point decimal literals, например 0.99D32x2 и 17.125D32x3; значение до x — размер в битах; значение после — fraction size. Например, при fraction size == 2 после точки должно быть не более двух цифр. Так вот, я бы хотел зафорсить это на уровне подсветки синтаксиса.

Используемый движок Regexp'а — Oniguruma. Он вроде как умеет захватывать значения и вставлять их в регекс, но у меня пока не получается. Вот до чего я дошёл (не работает, как нужно):

\d+\.(?=\d+D\d+x(?<fraction>\d+))\d{\g<fraction>}D\d+x\d+

Я понимаю, что это очень нетривиально, но всё же...
упрости нам задачу:
- ожидаемый инпут
- ожидаемый аутпут
источник