Book Image

Comprehensive Ruby Programming

By : Jordan Hudgens
Book Image

Comprehensive Ruby Programming

By: Jordan Hudgens

Overview of this book

Ruby is a powerful, general-purpose programming language that can be applied to any task. Whether you are an experienced developer who wants to learn a new language or you are new to programming, this book is your comprehensive Ruby coding guide. Starting with the foundational principles, such as syntax, and scaling up to advanced topics such as big data analysis, this book will give you all of the tools you need to be a professional Ruby developer. A few of the key topics are: object-oriented programming, built-in Ruby methods, core programming skills, and an introduction to the Ruby on Rails and Sinatra web frameworks. You will also build 10 practical Ruby programs. Created by an experienced Ruby developer, this book has been written to ensure it focuses on the skills you will need to be a professional Ruby developer. After you have read this book, you will be ready to start building real-world Ruby projects.
Table of Contents (20 chapters)

Incorporating respond_to_missing to conform to metaprogramming best practices

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...