class Janis::Parsing::SpecificParsers::ProxyWebsiteParser
Attributes
url[R]
Public Class Methods
inherited(subclass)
click to toggle source
# File lib/janis/proxy_website_parser.rb, line 29 def self.inherited(subclass) add_subclass(subclass) end
new()
click to toggle source
# File lib/janis/proxy_website_parser.rb, line 33 def initialize @url = self.class.url end
subclasses()
click to toggle source
# File lib/janis/proxy_website_parser.rb, line 25 def self.subclasses @@subclasses end
url()
click to toggle source
# File lib/janis/proxy_website_parser.rb, line 37 def self.url raise "Subclass Responsibility!" end
Private Class Methods
add_subclass(subclass)
click to toggle source
# File lib/janis/proxy_website_parser.rb, line 66 def self.add_subclass(subclass) @@subclasses << subclass end
Public Instance Methods
parse()
click to toggle source
It should return an array of strings. Each string should have the format “IP:PORT”
# File lib/janis/proxy_website_parser.rb, line 42 def parse raise "Subclass Responsibility!" end
Private Instance Methods
get_content_by_http(url)
click to toggle source
# File lib/janis/proxy_website_parser.rb, line 58 def get_content_by_http(url) open(self.url) end
obtain_html_doc()
click to toggle source
# File lib/janis/proxy_website_parser.rb, line 48 def obtain_html_doc if self.url.include?("http://") Nokogiri::HTML(get_content_by_http(self.url)) elsif url.include?("file://") Nokogiri::HTML(read_content_from_file(self.url)) else raise "#{self.url} is not a supported URL!" end end
read_content_from_file(url)
click to toggle source
# File lib/janis/proxy_website_parser.rb, line 62 def read_content_from_file(url) File::open(self.url.gsub('file://',''), 'r').read end