In the previous section, you learned about a metaprogramming method called method_missing.
As mentioned earlier, the problem with this method is that most developers tend to use the respond_to? method to check whether the method is present and, only if the value is true, the rest of the code is executed. To ensure that we're conforming to Ruby best practices, override the respond_to? method, like so:
def respond_to_missing?(method_name, include_private = false)
method_name.to_s.start_with?('author_') || super
end
In this code, we passed two arguments to the method and, in the next line, we created a conditional that is similar to the one in method_missing. However, we are using a different syntax to get more familiar with different syntaxes.
Instead of using an if...else statement, we...