class Mechanize::Page::Image
An image element on an HTML page
Attributes
mech[RW]
node[R]
page[RW]
Public Class Methods
new(node, page)
click to toggle source
Creates a new Mechanize::Page::Image from an image
node
and source page
.
# File lib/mechanize/page/image.rb, line 14 def initialize node, page @node = node @page = page @mech = page.mech end
Public Instance Methods
alt()
click to toggle source
The alt attribute of the image
# File lib/mechanize/page/image.rb, line 23 def alt node['alt'] end
dom_class()
click to toggle source
The class attribute of the image
# File lib/mechanize/page/image.rb, line 40 def dom_class node['class'] end
dom_id()
click to toggle source
The id attribute of the image
# File lib/mechanize/page/image.rb, line 47 def dom_id node['id'] end
extname()
click to toggle source
The suffix of the url. The dot is a part of suffix, not a delimiter.
p image.url # => "http://example/test.jpg" p image.extname # => ".jpg"
Returns an empty string if url has no suffix:
p image.url # => "http://example/sampleimage" p image.extname # => ""
# File lib/mechanize/page/image.rb, line 62 def extname return nil unless src File.extname url.path end
fetch(parameters = [], referer = nil, headers = {})
click to toggle source
Downloads the image.
agent.page.image_with(:src => /logo/).fetch.save
The referer is:
- page(“parent”)
-
all images on http html, relative src images on https html
- (no referer)
-
absolute src images on https html
- user specified
-
img.fetch(nil, my_referer_uri_or_page)
# File lib/mechanize/page/image.rb, line 82 def fetch parameters = [], referer = nil, headers = {} mech.get src, parameters, referer || image_referer, headers end
height()
click to toggle source
The height attribute of the image
# File lib/mechanize/page/image.rb, line 89 def height node['height'] end
mime_type()
click to toggle source
MIME type guessed from the image url suffix
p image.extname # => ".jpg" p image.mime_type # => "image/jpeg" page.images_with(:mime_type => /gif|jpeg|png/).each do ...
Returns nil if url has no (well-known) suffix:
p image.url # => "http://example/sampleimage" p image.mime_type # => nil
# File lib/mechanize/page/image.rb, line 117 def mime_type suffix_without_dot = extname ? extname.sub(/\A\./){''}.downcase : nil Mechanize::Util::DefaultMimeTypes[suffix_without_dot] end
src()
click to toggle source
The src attribute of the image
# File lib/mechanize/page/image.rb, line 139 def src node['src'] end
title()
click to toggle source
The title attribute of the image
# File lib/mechanize/page/image.rb, line 146 def title node['title'] end
to_s()
click to toggle source
The URL string of this image
# File lib/mechanize/page/image.rb, line 153 def to_s url.to_s end
url()
click to toggle source
URI for this image
# File lib/mechanize/page/image.rb, line 160 def url if relative? then if page.bases[0] then page.bases[0].href + src.to_s else page.uri + Mechanize::Util.uri_escape(src.to_s) end else URI Mechanize::Util.uri_escape(src) end end
Also aliased as: uri
width()
click to toggle source
The width attribute of the image
# File lib/mechanize/page/image.rb, line 177 def width node['width'] end