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