to_s для класса и потом при выводе на экран при помощи puts этот метод вызывается автоматом. Почему он вызывается? На самом деле, это происходит автоматически, то есть перед печатью объект автоматически преобразовывается строку, и именно этот процесс преобразования мы можем контролировать, создавая собственный метод to_s