Class: FeaturedImage::Finder
- Inherits:
-
Object
- Object
- FeaturedImage::Finder
- Defined in:
- lib/featuredimage/finder.rb
Class Method Summary collapse
-
.all(url, *args) ⇒ Object
Find all featured images that are matching criteria from web page.
-
.biggest(url, *args) ⇒ Object
Find the biggest featured image that is matching criteria from web page.
-
.first(url, *args) ⇒ Object
Find first featured image that is matching criteria from web page.
Instance Method Summary collapse
Class Method Details
.all(url, *args) ⇒ Object
Find all featured images that are matching criteria from web page. And return them as Array of Magick::ImageList. If the featured image does not exist return empty Array.
27 28 29 30 31 |
# File 'lib/featuredimage/finder.rb', line 27 def self.all(url, *args) finder = Finder.new cond = Criteria.new(*args) finder.all(url, cond) end |
.biggest(url, *args) ⇒ Object
Find the biggest featured image that is matching criteria from web page. And return it as Magick::ImageList. If the featured image does not exist return nil.
18 19 20 21 22 |
# File 'lib/featuredimage/finder.rb', line 18 def self.biggest(url, *args) finder = Finder.new cond = Criteria.new(*args) finder.biggest(url, cond) end |
.first(url, *args) ⇒ Object
Find first featured image that is matching criteria from web page. And return it as Magick::ImageList. If the featured image does not exist return nil.
9 10 11 12 13 |
# File 'lib/featuredimage/finder.rb', line 9 def self.first(url, *args) finder = Finder.new cond = Criteria.new(*args) finder.first(url, cond) end |
Instance Method Details
#all(url, cond) ⇒ Object
85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 |
# File 'lib/featuredimage/finder.rb', line 85 def all(url, cond) agent = Mechanize.new page = agent.get(url) max_size = Size.new(0, 0) max_imagelist = nil results = [] page.search("img").each{|elm| src = elm.attributes["src"].value begin data = download_image(agent, src) imagelist = Magick::ImageList.new imagelist.from_blob(data) size = Size.new(imagelist.columns, imagelist.rows) results << imagelist if featured_image?(cond, size) rescue Mechanize::ResponseCodeError # ignore Mechanize::ResponseCodeError end } results end |
#biggest(url, cond) ⇒ Object
55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 |
# File 'lib/featuredimage/finder.rb', line 55 def biggest(url, cond) agent = Mechanize.new page = agent.get(url) max_size = Size.new(0, 0) max_imagelist = nil page.search("img").each{|elm| src = elm.attributes["src"].value begin data = download_image(agent, src) imagelist = Magick::ImageList.new imagelist.from_blob(data) size = Size.new(imagelist.columns, imagelist.rows) if featured_image?(cond, size) if max_size < size max_size = size max_imagelist = imagelist end end rescue Mechanize::ResponseCodeError # ignore Mechanize::ResponseCodeError end } max_imagelist end |
#first(url, cond) ⇒ Object
33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 |
# File 'lib/featuredimage/finder.rb', line 33 def first(url, cond) agent = Mechanize.new page = agent.get(url) page.search("img").each{|elm| src = elm.attributes["src"].value begin data = download_image(agent, src) imagelist = Magick::ImageList.new imagelist.from_blob(data) size = Size.new(imagelist.columns, imagelist.rows) if featured_image?(cond, size) return imagelist end rescue Mechanize::ResponseCodeError # ignore Mechanize::ResponseCodeError end } nil end |