class Scruber::Helpers::FetcherAgentAdapters::AbstractAdapter

Attributes

created_at[RW]
disable_proxy[RW]
headers[RW]
id[RW]
jar[R]
proxy_id[RW]
updated_at[RW]
user_agent[RW]

Public Class Methods

find(id) click to toggle source
# File lib/scruber/helpers/fetcher_agent_adapters/abstract_adapter.rb, line 61
def find(id)
  raise NotImplementedError
end
new(options={}) click to toggle source
# File lib/scruber/helpers/fetcher_agent_adapters/abstract_adapter.rb, line 8
def initialize(options={})
  @id = options.fetch(:id) { nil }
  @user_agent = options.fetch(:user_agent) { nil }
  @proxy_id = options.fetch(:proxy_id) { nil }
  @headers = options.fetch(:headers) { {} }
  @cookie_jar = options.fetch(:cookie_jar) { {} }
  @disable_proxy = options.fetch(:disable_proxy) { false }
  @updated_at = options.fetch(:updated_at) { Time.now }
  @created_at = options.fetch(:created_at) { Time.now }
  @jar = HTTP::CookieJar.new
  if @cookie_jar.is_a?(String)
    @jar.load(StringIO.new(@cookie_jar))
  end
  @_proxy = false
end

Public Instance Methods

delete() click to toggle source
# File lib/scruber/helpers/fetcher_agent_adapters/abstract_adapter.rb, line 56
def delete
  raise NotImplementedError
end
parse_cookies_from_page!(page) click to toggle source
# File lib/scruber/helpers/fetcher_agent_adapters/abstract_adapter.rb, line 32
def parse_cookies_from_page!(page)
  cookies = page.response_cookies
  cookies.each do |cookie|
    @jar.parse(cookie, URI(page.url))
  end
end
proxy() click to toggle source
# File lib/scruber/helpers/fetcher_agent_adapters/abstract_adapter.rb, line 24
def proxy
  if @_proxy == false
    @_proxy = (@proxy_id ? Scruber::Helpers::ProxyRotator.find(@proxy_id) : nil)
  else
    @_proxy
  end
end
save() click to toggle source
# File lib/scruber/helpers/fetcher_agent_adapters/abstract_adapter.rb, line 52
def save
  raise NotImplementedError
end
serialize_cookies() click to toggle source
# File lib/scruber/helpers/fetcher_agent_adapters/abstract_adapter.rb, line 39
def serialize_cookies
  io = StringIO.new
  @jar.save(io)
  @cookie_jar = io.string
end