class Middleman::FastImage

def initialize(uri, options={})

def initialize(uri, options={})
  @property = options[:type_only] ? :type : :size
  @timeout = options[:timeout] || DefaultTimeout
  @uri = uri
  @parsed_uri = URI.parse(uri.gsub(/\s/, "%20"))
  if @parsed_uri.scheme == "http" || @parsed_uri.scheme == "https"
    fetch_using_http
  else
    fetch_using_open_uri
  end
  raise SizeNotFound if options[:raise_on_failure] && @property == :size && !@size
rescue Timeout::Error, SocketError, Errno::ECONNREFUSED, Errno::EHOSTUNREACH, Errno::ECONNRESET, ImageFetchFailure
  raise ImageFetchFailure if options[:raise_on_failure]
rescue Errno::ENOENT
  raise ImageFetchFailure if options[:raise_on_failure]    
rescue UnknownImageType
  raise UnknownImageType if options[:raise_on_failure]
end