def upload(object, options = {})
      if file?(object)           then upload_file(object, options)
      elsif object.is_a?(Array)  then upload_files(object, options)
      elsif object.is_a?(String) then upload_url(object, options)
      else
        raise ArgumentError, "Expected input to be a file/Array/URL, given: `#{object}`"
      end
    end
def upload(object, options = {})
      if file?(object)           then upload_file(object, options)
      elsif object.is_a?(Array)  then upload_files(object, options)
      elsif object.is_a?(String) then upload_url(object, options)
      else
        raise ArgumentError, "Expected input to be a file/Array/URL, given: `#{object}`"
      end
    end
intelegent guess for file or URL uploading