The Ruby gem I'm updating with new features, named politicosbr, depends on four other Ruby gems and requires them in its main module.
You should require the external files before the internal files because the external files should not depend on your files, but your internal files depend on the external files.
For example, suppose an external file defines class
A as a subclass of
B, and you are using class
B in your files. If you simply (as usual) do in your internal file:
class B ... end
then that will create class
B as the direct subclass of
Object. If you later include the file that defines
B as a subclass of
A, then there will be a contradiction at that point.