An introduction to metaprogramming in Ruby | Heykuki News