require 'hpricot'
require 'open-uri'

class RemoteResources
  def self.hpricot_document(url)
    Hpricot(open_remote(url))
  end
  
  def self.remote_yaml_document(document_url)
    YAML.load(open_remote(document_url))
  end
  
  def self.read_svn_repository(url)
    `"svn ls #{url}"`
  end
  
  def self.repository_list(url)
    self.svn_repository_list(url)
  end
  
  def self.svn_repository_list(url)
    self.read_svn_repository(url).split("\n").collect { |entry| entry.strip }
  end
  
  private
  
    # this only exists for stubbing
    def self.open_remote(uri)
      open(uri)
    end
end