What is metaprogramming in Ruby? Show the main tools and when you should (and shouldn't) use it.

Topic: rails, Ruby Metaprogramming. Level: Advanced.

The full answer to this question is available to Interview Reader members. See what is free and what Premium adds.