Ufuk is a Physics PhD turned polyglot software developer. He is currently working as a Senior Production Engineer on the Rails team at Shopify. He has over 20 years of experience working with statically and dynamically typed languages ranging from low-level communication programming to web development. He brings that experience to Shopify for the adoption of better Ruby tooling and practices. He currently works remotely from Cyprus where he lives with his beloved wife and wonderful daughter.
Reflecting on Ruby Reflection for Rendering RBIs
As part of our adoption process of Sorbet at Shopify, we needed an automated way to teach Sorbet about our ~400 gem dependencies. We decided to tackle this problem by generating interface files (RBI) for each gem via runtime reflection.
However, this turns out to not be as simple as it sounds; the flexible nature of Ruby allows gem authors to do many wild things that make this Hard. Come and hear about all the lessons that we learnt about runtime reflection in Ruby while building