require 'mechanize'

module Cosgrove
  class Agent < Mechanize
    COOKIE_FILE ||= 'cookies.yml'
    
    def initialize
      super('cosgrove')
      
      @agent.user_agent = 'Mozilla/5.0 (iPad; U; CPU OS 3_2_1 like Mac OS X; en-us) AppleWebKit/531.21.10 (KHTML, like Gecko) Mobile/7B405'
      @agent.keep_alive = false
      @agent.open_timeout = 10
      @agent.read_timeout = 10
      
      # Cookie management, see: https://gist.github.com/makevoid/4282237
      @agent.pre_connect_hooks << Proc.new do 
        @agent.cookie_jar.load COOKIE_FILE if ::File.exist?(COOKIE_FILE)
      end
      
      @agent.post_connect_hooks << Proc.new do
        @agent.cookie_jar.save COOKIE_FILE
      end
    end
  end
end