def <<
literally creates a new method called <<
. Looking at the Ruby Operator Expressions reference, you can see a handful of those are methods that can be implemented, overridden, etc.
Nothing "unconventional" or special about it, just kind of weird if you're used to languages where that's handled in a special way.