Class: HideMyAss::ProxyList

Inherits:
Object
  • Object
show all
Extended by:
Forwardable
Includes:
Enumerable
Defined in:
lib/hidemyass/proxy_list.rb

Overview

Represent a list of proxies that match the specified search properties.

Examples:

Iterate over all proxy server hosted in the US.

ProxyList.new('c[]' => 'Europe').each { |proxy| ... }

List of all proxy server URLs

ProxyList.new.map(&:url)
# => ['https://178.22.148.122:3129']

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(form_data = HideMyAss.form_data) ⇒ HideMyAss::ProxyList

Represent a list of proxies that match the specified search properties.

Parameters:

  • form_data (Hash) (defaults to: HideMyAss.form_data)

    See HideMyAss.form_data for more info.



29
30
31
32
# File 'lib/hidemyass/proxy_list.rb', line 29

def initialize(form_data = HideMyAss.form_data)
  self.form_data = form_data.reject { |_, v| v.nil? }
  @proxies       = fetch
end

Instance Attribute Details

#form_dataHash

Form data to support custom searches

Returns:

  • (Hash)


39
40
41
# File 'lib/hidemyass/proxy_list.rb', line 39

def form_data
  @form_data
end

Instance Method Details

#uriURI

Build URI for endpoint including all search form params.

Returns:

  • (URI)


44
45
46
47
48
# File 'lib/hidemyass/proxy_list.rb', line 44

def uri
  uri       = URI(ENDPOINT)
  uri.query = URI.encode_www_form(form_data)
  uri
end