Sha256: 2e8098686f6addc97b0cc59188d446d9e8d78ae5fc487dba25b81613874631f9
Contents?: true
Size: 732 Bytes
Versions: 7
Compression:
Stored size: 732 Bytes
Contents
require 'httparty' require 'oga' module Elsmore class Document attr_accessor :url def initialize url, parent = nil self.url = Elsmore::Url.new(url, parent) end def links @links ||= begin doc.xpath('//a').map do |element| element.attribute('href') end.compact.map(&:value).map do |href| Elsmore::Document.new(href, url) end.compact end end def data doc.to_xml end def write! Elsmore::Writer.new(self).write end def rewrite Elsmore::Rewriter.new(self).rewrite end def doc @doc ||= begin html = HTTParty.get(url.canonical_url) Oga.parse_html(html) end end end end
Version data entries
7 entries across 7 versions & 1 rubygems