class Proxtopus::ResourceSet

Public Class Methods

new(resources=nil) click to toggle source
# File lib/proxtopus/resource_set.rb, line 4
def initialize(resources=nil)
  if resources.is_a?(Array)
    resources.each { |r| push(r) }
  end
end

Public Instance Methods

include?(resource) click to toggle source

def shift(resource)

if !resource.is_a?(Proxtopus::Resource) && !resource.is_a?(Hash)
  raise ArgumentError, "A ResourceSet may only contain Resource or Hash objects!"
end

if resource.is_a?(Hash)
  resource = Resource.new(resource['host'], resource['port'], resource['protocol'], resource['country'], resource['anonymity'])
end

super(resource) if !include?(resource)
self

end

# File lib/proxtopus/resource_set.rb, line 38
def include?(resource)
  if resource.is_a?(Proxtopus::Resource)
    each do |p|
      return true if resource == p
    end
    false
  else
    false
  end
end
push(resource) click to toggle source
Calls superclass method
# File lib/proxtopus/resource_set.rb, line 10
def push(resource)
  if !resource.is_a?(Proxtopus::Resource) && !resource.is_a?(Hash)
    raise ArgumentError, "A ResourceSet may only contain Resource or Hash objects!"
  end
  
  if resource.is_a?(Hash)
    resource = Resource.new(resource[:request], resource[:response])
  end
  
  super(resource) if !include?(resource)
  self
end