How does Hpricot ... inner_text work?

Rubies:

  require 'hpricot'
  hdoc = Hpricot('<yo><i>nope</i><i class="foo">b xml</i></yo>')
# nope p hdoc.inner_text
# nope p hdoc.root.inner_text
# nope p hdoc.children.first.inner_text
  p hdoc.get_elements_by_tag_name # <Hpricot::Elements[
  p hdoc.get_elements_by_tag_name.size # 3
  p hdoc.get_elements_by_tag_name.inner_text # NoMethodError

The documentation for inner_text implies it occupies the Hpricot::Elements array.

This experiment uses get_elements_by_tag_name to fetch all descendent elements. Then the inner_text method vanishes.

How do we get a traversal of all derived nodes' text? Working code samples preferred! (I have tried many more variations than those...)

I'm using libhpricot-ruby1.8 with Ubuntu...

···

--
  Phlip
  http://www.oreilly.com/catalog/9780596510657/
  "Test Driven Ajax (on Rails)"
  assert_xpath, assert_javascript, & assert_ajax

I'm using libhpricot-ruby1.8 with Ubuntu...

When in doubt, blame Debian's clumsy Ruby packaging. The out-of-the box Hpricot was 4.1 (with notorious bugs in the search, etc.).

Upgrading to this one provides the native inner_text:

http://archive.ubuntu.com/ubuntu/pool/universe/libh/libhpricot-ruby/libhpricot-ruby1.8_0.5-2_i386.deb

···

--
Phlip
Test Driven Ajax (on Rails) [Book]
"Test Driven Ajax (on Rails)"
assert_xpath, assert_javascript, & assert_ajax