Class: Microdata::Document

Inherits:
Object
  • Object
show all
Defined in:
lib/microdata/document.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(content, page_url = nil) ⇒ Document

Returns a new instance of Document.



6
7
8
9
10
# File 'lib/microdata/document.rb', line 6

def initialize(content, page_url=nil)
  @doc = Nokogiri::HTML(content)
  @page_url = page_url
  @items = extract_items
end

Instance Attribute Details

#docObject (readonly)

Returns the value of attribute doc.



4
5
6
# File 'lib/microdata/document.rb', line 4

def doc
  @doc
end

#itemsObject (readonly)

Returns the value of attribute items.



4
5
6
# File 'lib/microdata/document.rb', line 4

def items
  @items
end

Instance Method Details

#extract_itemsObject



12
13
14
15
16
17
18
19
# File 'lib/microdata/document.rb', line 12

def extract_items
  itemscopes = @doc.search('//*[@itemscope and not(@itemprop)]')
  return nil unless itemscopes

  itemscopes.collect do |itemscope|
    Item.new(itemscope, @page_url)
  end
end