- Read Tutorial
- Watch Guide Video
In this lesson we are going to start learning about metaprogramming in Ruby. We'll begin with a practical example.
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, I can update my User
class in the application and override the built in String
to_s
method, like so:
def to_s self.first_name + " " + self.last_name end
Now, if I call the to_s
method on any objects created from the User
class we'll get this full name value.
So, metaprogramming gives us the ability to open up classes and override existing methods to give applications custom behavior. This is by no means the full scope of what metaprogramming offers, but it's a introduction to how you can easily use it in your applications.