Class: Elsmore::Document
- Inherits:
-
Object
- Object
- Elsmore::Document
- Defined in:
- lib/elsmore/document.rb
Instance Attribute Summary collapse
-
#emitter ⇒ Object
Returns the value of attribute emitter.
-
#url ⇒ Object
Returns the value of attribute url.
Instance Method Summary collapse
- #data ⇒ Object
- #doc ⇒ Object
-
#initialize(url, parent = nil) ⇒ Document
constructor
A new instance of Document.
- #links ⇒ Object
- #rewrite ⇒ Object
- #write! ⇒ Object
Constructor Details
#initialize(url, parent = nil) ⇒ Document
Returns a new instance of Document.
8 9 10 |
# File 'lib/elsmore/document.rb', line 8 def initialize url, parent = nil self.url = Elsmore::Url.new(url, parent) end |
Instance Attribute Details
#emitter ⇒ Object
Returns the value of attribute emitter.
6 7 8 |
# File 'lib/elsmore/document.rb', line 6 def emitter @emitter end |
#url ⇒ Object
Returns the value of attribute url.
6 7 8 |
# File 'lib/elsmore/document.rb', line 6 def url @url end |
Instance Method Details
#data ⇒ Object
22 23 24 |
# File 'lib/elsmore/document.rb', line 22 def data doc.to_xml end |
#doc ⇒ Object
38 39 40 41 42 43 |
# File 'lib/elsmore/document.rb', line 38 def doc @doc ||= begin html = HTTParty.get(url.canonical_url) Oga.parse_html(html) end end |
#links ⇒ Object
12 13 14 15 16 17 18 19 20 |
# File 'lib/elsmore/document.rb', line 12 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 |
#rewrite ⇒ Object
32 33 34 35 36 |
# File 'lib/elsmore/document.rb', line 32 def rewrite rewriter = Elsmore::Rewriter.new(self) rewriter.emitter = emitter rewriter.rewrite end |
#write! ⇒ Object
26 27 28 29 30 |
# File 'lib/elsmore/document.rb', line 26 def write! writer = Elsmore::Writer.new(self) writer.emitter = emitter writer.write end |