hpricot:Hpricot::Elements#wrap

>> require "hpricot"
=> true
>> doc = Hpricot('<a href="http://www.foo.org/">foo</a><a href="http://www.bar.org/">bar</a><p>hoge</p>')
=> #<Hpricot::Doc {elem <a href="http://www.foo.org/"> "foo" </a>} {elem <a href="http://www.bar.org/"> "bar" </a>} {elem <p> "hoge" </p>}>
>> doc.search("a[@href]").wrap(%{<div class="link"><div class="link_inner"></div></div>})
=> #<Hpricot::Elements[{elem <a href="http://www.foo.org/"> "foo" </a>}, {elem <a href="http://www.bar.org/"> "bar" </a>}]>
>> doc.to_html
=> "<div class=\"link\"><div class=\"link_inner\"><a href=\"http://www.foo.org/\">foo</a></div></div><div class=\"link\"><div class=\"link_inner\"><a href=\"http://www.bar.org/\">bar</a></div></div><p>hoge</p>"

なぜ wrap なのかと思ったが、マッチするものの前後を変更するからかな?