Implementing the most common Ruby refactoring techniques
Two refactoring techniques are very common in Ruby, extracting a method and extracting a class. Let's focus first on extracting a method, as that is more common.
Extracting a method
Extracting a method is generally done when you have found the same code or same pattern of code in multiple places that is being executed for the same reasons.
As an example of this, consider a SQL database library that needs to execute INSERT
, UPDATE
, and DELETE
SQL queries to modify data.
You have a Database
class with separate methods to handle each type of query. The insert
method checks out a connection, executes the SQL for the INSERT
statement on the connection, and uses ensure
to make sure the connection is checked back in, because you do not want to leak connections if an exception is raised. Refer to the following code block:
class Database   def insert(*args)     conn = checkout_connection...