class Webdrivers::Chromedriver

def base_url

def base_url
  'http://chromedriver.storage.googleapis.com'
end

def current

def current
  Webdrivers.logger.debug "Checking current version"
  return nil unless downloaded?
  string = %x(#{binary} --version)
  Webdrivers.logger.debug "Current version of #{binary} is #{string}"
  normalize string.match(/ChromeDriver (\d\.\d+)/)[1]
end

def downloads

def downloads
  raise StandardError, "Can not download from website" unless site_available?
  Webdrivers.logger.debug "Versions previously located on downloads site: #{@downloads.keys}" if @downloads
  @downloads ||= begin
    doc = Nokogiri::XML.parse(get(base_url))
    items = doc.css("Contents Key").collect(&:text)
    items.select! {|item| item.include?(platform)}
    ds = items.each_with_object({}) do |item, hash|
      key = normalize item[/^[^\/]+/]
      hash[key] = "#{base_url}/#{item}"
    end
    Webdrivers.logger.debug "Versions now located on downloads site: #{ds.keys}"
    ds
  end
end

def file_name

def file_name
  platform == "win" ? "chromedriver.exe" : "chromedriver"
end

def normalize(string)

def normalize(string)
  string.size == 3 ? string.gsub('.', '.0').to_f : string.to_f
end