Sha256: 56cb5c6abcd9fd5c82c0ac0c96d8239888d5c98291672b322c3e2ef0b58348b8
Contents?: true
Size: 937 Bytes
Versions: 7
Compression:
Stored size: 937 Bytes
Contents
require 'RMagick' module LinkThumbnailer class ImgParser def initialize(fetcher, img_url_filter) @fetcher = fetcher @img_url_filters = [*img_url_filter] end def parse(img_urls) @img_url_filters.each do |filter| img_urls.delete_if { |i| filter.reject?(i) } end imgs = [] count = 0 img_urls.each { |i| break if count >= LinkThumbnailer.configuration.limit img = parse_one(i) img.extend LinkThumbnailer::ImgComparator imgs << img count += 1 } imgs.sort! imgs.first(LinkThumbnailer.configuration.top) end def parse_one(img_url) begin img_data = @fetcher.fetch(img_url) img = Magick::ImageList.new.from_blob(img_data).extend( LinkThumbnailer::WebImage ) img.source_url = img_url img rescue Exception nil end end end end
Version data entries
7 entries across 7 versions & 1 rubygems