В случае символа создаётся Method, привязанный к объекту из Grape::Middleware::Error. При его вызове self остаётся равным этому receiver’у, поэтому доступ к request (который есть у Grape::Endpoint) не появляется. Про UnboundMethod — да, технически можно было бы поиграться с unbind/bind, но в данном случае Grape этого не делает. И я с вами согласен, что это к лучшему.
Спасибо за пост! Но я смотрю, на API-only приложении дашборд не поддерживается. А есть ли какой-нибудь аналог? Как удобней анализировать запросы на апишке и рефакторить их?
1) Я просто попытался воспроизвести в командной строке на сервере вызов сервиса с заданными параметрами, и меня выбрасывало из консоли со 137 ошибкой. Сделали вывод, что дело в памяти (уже с подобным сталкивались)
2) Сам отчет весил несколько мегабайт, может десятки. Запрос, на самом деле, я почти не оптимизировал, только перенес его из одного места в другой, и применил `find_each`. Но вообще память в Ruby раздувается достаточно легко, и самое главное — совсем не умеет «сдуваться» обратно ) Подробней о памяти можно вот в этом посте почитать что раздувает память в Ruby
В случае символа создаётся
Method, привязанный к объекту изGrape::Middleware::Error. При его вызове self остаётся равным этому receiver’у, поэтому доступ кrequest(который есть уGrape::Endpoint) не появляется. ПроUnboundMethod— да, технически можно было бы поиграться сunbind/bind, но в данном случае Grape этого не делает. И я с вами согласен, что это к лучшему.Ок, спасибо, чекну!
obninsksite.ru/blog/html-and-css/input-file-style
2) Сам отчет весил несколько мегабайт, может десятки. Запрос, на самом деле, я почти не оптимизировал, только перенес его из одного места в другой, и применил `find_each`. Но вообще память в Ruby раздувается достаточно легко, и самое главное — совсем не умеет «сдуваться» обратно ) Подробней о памяти можно вот в этом посте почитать что раздувает память в Ruby