856: def document
857: if @document.is_a?(URI)
858:
859: options = {}
860: READER_OPTIONS.each { |key| options[key] = option(key) }
861: request(@document, options)
862: end
863: if @document.is_a?(String)
864:
865: parsed = Reader.parse_page(@document, @page_info.encoding,
866: option(:parser_options), option(:parser))
867: @document = parsed.document
868: @page_info.encoding = parsed.encoding
869: end
870: return @document if @document.is_a?(HTML::Node)
871: raise RuntimeError, "No document to process"
872: end