# By Henrik Nyh 2007-03-28. # Based on http://vemod.net/code/hpricot_goodies/hpricot_text_gsub.rb. # Licensed under the same terms as Ruby. require "hpricot" module HpricotTextTransform module NodeWithChildrenExtension # # def text_transform!(options={}, &block) return if defined?(name) and Array(options[:except]).include?(name.to_sym) children.each { |c| c.text_transform!(options, &block) } end end module TextNodeExtension # # def text_transform!(options={}, &block) content.replace yield(content) end end module BogusETagExtension # # def text_transform!(options={}, &block) end end end Hpricot::Doc.send(:include, HpricotTextTransform::NodeWithChildrenExtension) Hpricot::Elem.send(:include, HpricotTextTransform::NodeWithChildrenExtension) Hpricot::BogusETag.send(:include, HpricotTextTransform::BogusETagExtension) Hpricot::Text.send(:include, HpricotTextTransform::TextNodeExtension)