https://docs.ruby-lang.org/ja/latest/method/Kernel/m/puts.html より抜粋
配列や文字列以外のオブジェクトが引数として与えられた場合には、 当該オブジェクトを最初に to_ary により配列へ、 次に to_s メソッドにより文字列へ変換を試みます。
class Integer
def to_ary
['to_ary']
end
def to_s
'10'
end
end
puts 1
出力
to_ary