Pour le chainage des méthodes
La méthode yield_self ou then, définie dans Kernel, renvoie le résultat du bloc appelé avec self en argument.

L’intérêt premier est le chainage des méthodes.

Sans bloc, la méthode retourne un Enumerator permettant de filtrer, transformer, …

Vous aurez remarqué que then est un mot reservé, mais Ruby permet tout de même de définir une telle méthode, et il a donc été choisi intentionnellement : note#14, note#17.
Les liens vers la documentation Ruby de yield_self et then.