#Course: Ruby Metaprogramming
This is a one-day advanced Ruby training for beginner and intermediate Ruby developers. At the end of the day, attendants will be able to apply advanced Ruby idioms and understand complex code from popular frameworks and libraries.
This is a hands-on training. Attendants will spend most of their time writing code. Even during the most theoretical lessons, they will constantly learn from concrete practice, writing code snippets and short programs.
##The teacher
Paolo "Nusco" Perrotta is the author of "Metaprogramming Ruby", widely considered one of the most important books on Ruby. He has tens of years of experience as a developer, a mentor of developers, and an Agile team coach. He is a frequent speaker and keynote speaker at conferences around the world.
##Plan of the Day
The course is divided into five modules, each consisting of theory lessons interleaved with hands-on exercises.
###1. The Ruby Object Model, part 1
An introduction to the Ruby Object Model and method lookup. This is essential knowledge for any Ruby developer.
###2. Methods
Advanced Ruby techniques to define and call methods, and avoid duplicated code.
###3. Blocks
Managing closures and scope in Ruby, and executing code in the scope of an object with instance_eval().
###4. The Ruby Object Model, part 2
A second, deeper look at the object model. It introduces the most advanced techniques used in frameworks such as Rails.
###5. The Final Challenge
An extended final exercise, with some additional theory.