class MetaHari::Helpers::Microdata
Attributes
document[R]
url[R]
Public Class Methods
new(document, url)
click to toggle source
# File lib/meta_hari/helpers/microdata.rb, line 7 def initialize(document, url) @document = document @url = url end
Public Instance Methods
data(type = 'http://schema.org/Product')
click to toggle source
# File lib/meta_hari/helpers/microdata.rb, line 12 def data(type = 'http://schema.org/Product') result = array.find { |hash| hash[:type].include? type } result && format(result) || {} end
Protected Instance Methods
array()
click to toggle source
# File lib/meta_hari/helpers/microdata.rb, line 29 def array @hash ||= items.map(&:to_hash) end
format(result)
click to toggle source
# File lib/meta_hari/helpers/microdata.rb, line 19 def format(result) data = result[:properties] { '@type' => result[:type] && result[:type].first, 'name' => data['name'] && data['name'].first, 'image' => data['image'] && data['image'].first, 'description' => data['description'] && data['description'].first } end
items()
click to toggle source
# File lib/meta_hari/helpers/microdata.rb, line 33 def items itemscopes = document.search('//*[@itemscope and not(@itemprop)]') return [] unless itemscopes itemscopes.collect do |itemscope| ::Microdata::Item.new(itemscope, url) end end