We will start learning about metaprogramming in Ruby. Let's begin with a practical example. Refer to the following screenshot:
This is a profile page for devcamp.com. You can see my full name listed on the top right-hand side. This name was collected by the application when I signed up, and when I logged in later, it was retrieved from the database and displayed.
To display this value, you can update your User class in the application and override the built-in to_s string method, like so:
def to_s
self.first_name + " " + self.last_name
end
Now if you call the to_s method on any objects created from the User class, you'll get the full name value.
So metaprogramming gives us the ability to open up classes and override existing methods to assign custom behavior to applications. This is by no means the full scope of what metaprogramming...