Class: Spree::TestingSupport::Microdata::Document

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

Overview

code extracted and modified from ‘microdata’ gem

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(content) ⇒ Document

Returns a new instance of Document.



8
9
10
11
# File 'lib/spree/testing_support/microdata.rb', line 8

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

Instance Attribute Details

#docObject (readonly)

Returns the value of attribute doc.



6
7
8
# File 'lib/spree/testing_support/microdata.rb', line 6

def doc
  @doc
end

#itemsObject (readonly)

Returns the value of attribute items.



6
7
8
# File 'lib/spree/testing_support/microdata.rb', line 6

def items
  @items
end

Instance Method Details

#extract_itemsObject



13
14
15
16
17
18
19
20
# File 'lib/spree/testing_support/microdata.rb', line 13

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

  itemscopes.map do |itemscope|
    Item.new(itemscope)
  end
end