/metaprogramming-ruby-2-dynamic-method/
https://www.spreered.com/blog/metaprogramming-ruby-2-dynamic-method