18:00 - 18:30: Gathering
18:30: Intro to ruby metaprogramming - part 1
Ruby (and of-course Rails) seems to sometime have a lot of "magic" behind the scenes which is actually a set of tools allowing to do some very neat things.
In this first talk we'll explore the ruby object model, get to know the current class/object, what is self, metaclass, instance_eval & class_eval
and explore how an application can modify itself at runtime with define_method and what the hack is method_missing...?
The speaker: Roy Zinn (https://www.linkedin.com/in/royzinn/)
19:00 - 19:15: Food break
19:15: How I Built Timeasure: A Gem For Profiling Your Ruby Code In Production
I recently released a Timeasure, a gem that helps Ruby developers measure the runtime of their code in production. In my talk, I will explain how you can use unique aspects of the Ruby object model in your favor, like I did in Timeasure, and create flexible and transparent method-wrappers - for any purpose! I will also explain why profiling your code runtime in production is important and how we managed to cut down the runtime of our main transaction by over 500% by utilizing Timeasure correctly (!).
If you aren't deeply familiar with the Ruby object model or with metaprogramming in Ruby, don’t worry! I'll start with the basics, then move on to demonstrate the astounding innovations of Ruby 2.
The speaker: Eliav Lavi (https://www.linkedin.com/in/eliav-lavi-56a70487/)