Ruby require
is more like "include" in other languages (such as C). It tells Ruby that you want to bring in the contents of another file. Similar mechanisms in other languages are:
Ruby include
is an object-oriented inheritance mechanism used for mixins.
There is a good explanation here:
[The] simple answer is that require and include are essentially unrelated.
"require" is similar to the C include, which may cause newbie confusion. (One notable difference is that locals inside the required file "evaporate" when the require is done.)
The Ruby include is nothing like the C include. The include statement "mixes in" a module into a class. It's a limited form of multiple inheritance. An included module literally bestows an "is-a" relationship on the thing including it.
Emphasis added.