class ProxySeeker::Fetcher
Attributes
proxies[R]
scrapers[R]
Public Class Methods
new(opts = {})
click to toggle source
# File lib/proxy_seeker/fetcher.rb, line 5 def initialize(opts = {}) @scrapers, @proxies = [], [] @opts = opts Dir["#{File.dirname(__FILE__)}/scrapers/*.rb"].each do |file| class_name = file.split('/').last.split('.rb').first.split('_').map(&:capitalize).join class_const = Object.const_get("ProxySeeker::Scrapers::#{class_name}") rescue nil @scrapers << class_const if !class_const.nil? && class_const.new.respond_to?(:fetch) end end
Public Instance Methods
execute()
click to toggle source
# File lib/proxy_seeker/fetcher.rb, line 16 def execute fetch_all filer_out proxies end
Private Instance Methods
fetch_all()
click to toggle source
# File lib/proxy_seeker/fetcher.rb, line 24 def fetch_all scrapers.each do |fetcher| @proxies << fetcher.new.fetch end @proxies = @proxies.flatten.compact end
filer_out()
click to toggle source
# File lib/proxy_seeker/fetcher.rb, line 32 def filer_out @proxies = @proxies.uniq.select{ |proxy| proxy.valid? } end