Sha256: 24ad34fa41e801ef757aef76947892d171e5dec83f53e78592a5fab82272990a
Contents?: true
Size: 1.36 KB
Versions: 7
Compression:
Stored size: 1.36 KB
Contents
module WWW class Mechanize class Page < WWW::Mechanize::File # This class encapsulates links. It contains the text and the URI for # 'a' tags parsed out of an HTML page. If the link contains an image, # the alt text will be used for that image. # # For example, the text for the following links with both be 'Hello World': # # <a href="http://rubyforge.org">Hello World</a> # <a href="http://rubyforge.org"><img src="test.jpg" alt="Hello World"></a> class Link attr_reader :node attr_reader :href attr_reader :text attr_reader :attributes attr_reader :page alias :to_s :text alias :referer :page def initialize(node, mech, page) @node = node @href = node['href'] @text = node.inner_text @page = page @mech = mech @attributes = node # If there is no text, try to find an image and use it's alt text if (@text.nil? || @text.length == 0) && (node/'img').length > 0 @text = '' (node/'img').each do |e| @text << ( e['alt'] || '') end end end def uri URI.parse(@href) end # Click on this link def click @mech.click self end end end end end
Version data entries
7 entries across 7 versions & 1 rubygems