class AutoPilot::Request

Attributes

document[R]
error[R]
options[R]
url[R]

Public Class Methods

error() click to toggle source
# File lib/auto_pilot/request.rb, line 14
def self.error
  Log.red 'invalid url'
end
fetch(url, options = {}) click to toggle source
# File lib/auto_pilot/request.rb, line 9
def self.fetch(url, options = {})
  error unless url
  new(url, options).document
end
new(url, options = {}) click to toggle source
# File lib/auto_pilot/request.rb, line 20
def initialize(url, options = {})
  @url, @options = AutoPilot::URLFormatter.default_to_http(url), options
  @document = get_document(url)
end

Public Instance Methods

get_document(url) click to toggle source
# File lib/auto_pilot/request.rb, line 25
def get_document(url)
  response = self.class.get(url, options)
  throttle
  log_response(url, response)
  response
rescue => error
  Log.red "request failed for #{url} #{error}"
  false
end

Private Instance Methods

log_response(url, response) click to toggle source
# File lib/auto_pilot/request.rb, line 41
def log_response(url, response)
  code = response.code
  if code != 200
    @error = code
    Log.red "request failure trying to download #{url}, status #{code}"
  else
    Log.green "- downloading #{url}"
  end
end
throttle() click to toggle source
# File lib/auto_pilot/request.rb, line 37
def throttle
  sleep(AutoPilot.configuration.throttle || 3)
end