Implementing Web Console by Genadi Samokovarov
Just like the snow 🌨, we are back with fresh Banitsa 🥮, new logo and even brighter colors. ❤️
Have you ever wondered how a Ruby debugging tool is made? Have you heard of
TracePoint API or the
Debug Inspector API? Of course you haven't! This is a pretty clutch thing to do anyway!
When you come to the newest edition of our humble meetup you will hear all about what it takes to write a debugger in mostly pure Ruby! Take your C and Java training-wheels, we'll be riding through the popular interpreter's internals for those extra spices.
Web Console is a debugging tool bundled with Rails. The most popular feature is a console that is shown in every development error, however, it is a general purpose debugging tool that let you execute Ruby code in any binding as it runs, through its web UI.
In this talk, we'll take a look at how the web-console gem is implemented. This includes a deep dive into how exceptions in Ruby work; how to build Ruby bindings for every part of an exception backtrace, so we can execute code in them; how we interact with the DebugInspector and TracePoint C APIs to make this possible and how we supported alternative Ruby implementations like JRuby.
Go right of the main Lidl store entrance and take the lift to the 4th floor. The hall is to the left of the elevator. The door may be locked, so buzz and someone will open it for you.bulevard "Cherni Vrah", 47