https://www.cloudbees.com/blog/metaprogramming-in-ruby/ https://buildingvts.com/ruby-metaprogramming-by-example-612526d0b72 https://www.toptal.com/ruby/ruby-metaprogramming-cooler-than-it-sounds