Is there any difference between doing [...]?
The only difference is that in class Bus::Driver
the Bus
module must be already defined, while the same does not stand for the second.
Which syntax is preferred?
This is not a constructive question but I personally prefer the second because it states explicitly that Bus
is a module, while with the first I cannot see at first glance if Bus
is a module or a class.