PerlのRegexp::AssembleやRegexp::Trie、Emacs付属のregexp-optなどに相当するRubyの既存ライブラリを探しています。できればRubyGemsで。

求めるものは、いくつもの文字列から、いずれかにマッチするコンパクトな正規表現(文字列)を作るメソッドです。たとえば、"who" "where" "when"の3つの文字列が与えられた場合、"who|where|when"ではなく、"(?:wh(?:e(?:n|re)|o))"のような結果を期待しています。

なお、これは、作ることが目的ではなく、既存のものがあるかどうかを知りたいという質問です。そのため、上記の動作をするコード例を示す回答は、質問の意図に反しますので、念のため。