勉強のため、rubyでsuffix arrayを作っています。

----
str = "hogehoge"
sarray = Array.new(str.size){ |i| i }.sort_by{ |i| str[i..-1] }
sarray.each{ |i| puts str[i..-1] }
----
e
ehoge
ge
gehoge
hoge
hogehoge
oge
ogehoge
----

これで動作するんですけど、マルチバイトの場合はもちろん失敗します。
マルチバイト対応で何とかならないですかね?