
yopp
15.07.2016
19:09:29

Mikhail
15.07.2016
19:09:31
и я через лямбды юзаю обычно

ojab
15.07.2016
19:10:30

yopp
15.07.2016
19:10:59
оно лябмду жрёт, хоть в доке и не написано :)

Google

yopp
15.07.2016
19:11:08
https://github.com/rails/rails/blob/920f3ba2668e0622335f16f2f1318d9e6b5e6b28/actionview/lib/action_view/layouts.rb#L302

ojab
15.07.2016
19:12:22
нда, действительно
layout -> { 'not_logged_in' unless user_signed_in? } works fine

yopp
15.07.2016
19:12:56
создайте пулл-реквест кстати
если в пятой ещё не поправили

ojab
15.07.2016
19:13:59
судя по https://github.com/rails/rails/blob/920f3ba2668e0622335f16f2f1318d9e6b5e6b28/actionview/lib/action_view/layouts.rb#L247 — не поправили

yopp
15.07.2016
19:14:21
отличная строчка в резюме
котрибьютил в рельсу

Stanislav
15.07.2016
19:14:37

ojab
15.07.2016
19:14:37
да кто туда только не контрибьютил

Vitaly
15.07.2016
19:15:00
я
?

ojab
15.07.2016
19:15:16
у тебя есть шанс

Google

Vitaly
15.07.2016
19:15:26
да? да я даже не знаю о чем речь

yopp
15.07.2016
19:15:49
мой pr завернули

ojab
15.07.2016
19:15:50
добавляешь в https://github.com/rails/rails/blob/920f3ba2668e0622335f16f2f1318d9e6b5e6b28/actionview/lib/action_view/layouts.rb#L247 строку про то что принимается Proc

Vitaly
15.07.2016
19:16:10
точнее не знаю что это за контрибуты такие и для чего они

Темур
15.07.2016
19:16:17
https://twitter.com/rubyunderhood/status/754024652314402816

ojab
15.07.2016
19:16:49

Vitaly
15.07.2016
19:17:27
понятно

yopp
15.07.2016
19:18:24

ojab
15.07.2016
19:18:44
раз уж мы о рубях: JRuby падает на spec'ах вида https://gist.github.com/ojab/86a6af0b465abf40778f6149e5a65b7a
как мне это проще всего заmock'ать/переписать?
RSpec::Core::ExampleGroup.describe.example.dup тоже падает, как и всё что вызывает .example

I
15.07.2016
19:19:14
а как падает,
?

ojab
15.07.2016
19:19:44
Unhandled Java exception: java.lang.ArrayIndexOutOfBoundsException: 1
java.lang.ArrayIndexOutOfBoundsException: 1
collect at org/jruby/RubyArray.java:2341
map19 at org/jruby/RubyArray.java:2355
call at org/jruby/internal/runtime/methods/JavaMethod.java:497
cacheAndCall at org/jruby/runtime/callsite/CachingCallSite.java:273
callBlock at org/jruby/runtime/callsite/CachingCallSite.java:79
call at org/jruby/runtime/callsite/CachingCallSite.java:83
ну и там ещё куча строк, которая вряд ли кому-нибудь из нас что-то скажет

I
15.07.2016
19:20:20
ой да ладно, самые последние 5 хотя бы)

ojab
15.07.2016
19:20:28
на самом деле даже RSpec::Core::ExampleGroup.describe падает
ой да ладно, самые последние 5 хотя бы)
runNormally at org/jruby/Ruby.java:760
runFromMain at org/jruby/Ruby.java:579
doRunFromMain at org/jruby/Main.java:425
internalRun at org/jruby/Main.java:313
run at org/jruby/Main.java:242
main at org/jruby/Main.java:204
понятнее стало?

I
15.07.2016
19:20:51
ну да, не айс)
пойду качать Jruby)

Google

yopp
15.07.2016
19:20:58
положи полный стектрейс куда-то
какая версия jruby?

ojab
15.07.2016
19:21:30
от 1.8 до 9.0.5.0
надо с head попробовать, да

yopp
15.07.2016
19:21:45
head это 9.1.3.0

ojab
15.07.2016
19:21:53
https://gist.github.com/ojab/b3e76418eb3c9c1444c455b84c08eb9f

yopp
15.07.2016
19:21:53
попробуй на 9.1.2.0 это последний релиз

ojab
15.07.2016
19:21:56
полный трейс
оу, даже до 9.1.1.0
оказывается

yopp
15.07.2016
19:22:35
попробуй на 9.1.2.0 если нет, пили ишуй

yopp
15.07.2016
19:22:56
оно валится на резолве метода

ojab
15.07.2016
19:23:02
ишуй-то я напишу попозжее, вопрос в том как это фиксить

yopp
15.07.2016
19:23:09
это бага в jruby, оно так валится не должно

ojab
15.07.2016
19:23:23
это тоже понятно

yopp
15.07.2016
19:24:16
https://github.com/jruby/jruby/issues/3916
валится в том-же месте
org.jruby.internal.runtime.methods.JavaMethod$JavaMethodN.call(JavaMethod.java:724)
а, нет

Google

yopp
15.07.2016
19:25:00
вру
там дерево другое
оукей
да, и правки в конкретно жабной реализации

I
15.07.2016
19:25:59
дебагом бы зайти внутрь

yopp
15.07.2016
19:26:27
жабным только

I
15.07.2016
19:26:31
ну да

yopp
15.07.2016
19:31:46

ojab
15.07.2016
19:31:52
3.5.0
rspec-core 3.5.1

Admin
ERROR: S client not available

ojab
15.07.2016
19:32:30
хм
jruby-head внезапно не падает, но вопрос всё равно актуален

yopp
15.07.2016
19:33:02
а на 9.1.2.0?

ojab
15.07.2016
19:33:21
хз, ставится

yopp
15.07.2016
19:33:48
ваще я не очень понимаю зачем ты внутри it пытаешься группу создать
но #describe делается вот так
https://github.com/rspec/rspec-core/blob/v3.5.1/lib/rspec/core/example_group.rb#L233

ojab
15.07.2016
19:34:12
я не пытаюсь создать, я пытаюсь example получить

yopp
15.07.2016
19:34:31
гхм

Google

yopp
15.07.2016
19:34:38
нет, ты пытаешься создать :)
это метод dsl
текущий экзампл внутри экзампла можно получить помоему передав аргумент в блок
смотри, какая петрушка:
https://github.com/rspec/rspec-core/blob/v3.5.1/lib/rspec/core/example_group.rb#L272
# An alias of example_group. Generally used when grouping examples by a
# thing you are describing (e.g. an object, class or method).

ojab
15.07.2016
19:36:09
9.1.2.0 тоже падает

yopp
15.07.2016
19:36:35
оно делает вот так
https://github.com/rspec/rspec-core/blob/v3.5.1/lib/rspec/core/example_group.rb#L39

ojab
15.07.2016
19:36:58

yopp
15.07.2016
19:37:47
зачем?

ojab
15.07.2016
19:38:01
чтобы тестировать formatter

yopp
15.07.2016
19:39:43
ты хочешь нагенерировать экзамплов и потом у каждого проверять?

ojab
15.07.2016
19:40:23
хочу запихивать в форматтер успешные/неуспешные экзамплы и смотреть что получается

yopp
15.07.2016
19:40:41
сделай так чтоб твой форматтер можно было передать io обхект
передай туда strinio
возьми заранее написанные экзамплы
и прогони твой форматерр против них
и проверь результат

ojab
15.07.2016
19:41:56
это значительно геморройнее и я слабо представляю как проверить кейсы вида: "после n экзамплов вывод должен быть вот такой"

yopp
15.07.2016
19:42:18
это граздо проще, потому что ты можешь кейсы прямо так и прописывать

ojab
15.07.2016
19:42:58
как мне остановить выполнение после n кейсов и проверить текущее состояние?

yopp
15.07.2016
19:44:04
берёшь и делаешь describe MyAwesomeCase do … end со своим форматтером
получаешь указатель на example group
и дальше дёграешь чо ты хочешь и смотришь в свой буффер