Writing code that writes code is one of the more challenging topics in any programming language. However, metaprogramming in Ruby offers a powerful interface for building advanced features into an application; it is worth the effort to learn it. In this chapter, you will learn some of the basics of metaprogramming in Ruby, including how to open classes and add functionality to built-in Ruby classes. Additionally, you will be able to:
- Demonstrate what metaprogramming is and how it can be implemented in Ruby
- Analyze how to build programs that write code by leveraging methods, such as method missing and define_method