Module: Proxtopus::Response::Parser

Defined in:
lib/proxtopus/response_parser.rb

Class Method Summary collapse

Class Method Details

.json(body, elements) ⇒ Object



6
7
8
9
10
11
12
13
14
15
16
17
18
# File 'lib/proxtopus/response_parser.rb', line 6

def json(body, elements)
  ret = ProxySet.new
  els = JSON.parse(body)[elements[:root]]
  els.each do |el|
    host = el[elements[:host]]
    port = el[elements[:port]]
    anonymity = el[elements[:anonymity]]
    protocol = el[elements[:protocol]]
    country = el[elements[:country]]
    ret.push(Proxy.new(host, port, anonymity, protocol, country))
  end
  ret
end

.xml(body, elements) ⇒ Object



20
21
22
23
24
25
26
27
28
29
30
31
32
33
# File 'lib/proxtopus/response_parser.rb', line 20

def xml(body, elements)
  ret = ProxySet.new
  doc = Nokogiri::HTML(body)
  els = doc.xpath(elements[:root])
  els.each do |el|
    host = el.xpath(elements[:host]).text
    port = el.xpath(elements[:port]).text
    anonymity = el.xpath(elements[:anonymity]).text
    protocol = el.xpath(elements[:protocol]).text
    country = el.xpath(elements[:country]).text
    ret.push(Proxy.new(host, port, anonymity, protocol, country))
  end
  ret
end