Sha256: 26a0551f3b319d6ae85825247f199ab96fef6b6a6b6cb1f68c90a4d81cec9cf8
Contents?: true
Size: 907 Bytes
Versions: 1
Compression:
Stored size: 907 Bytes
Contents
#coding: utf-8 require 'wombat/property_locator' require 'mechanize' module Wombat module Parser include PropertyLocator attr_accessor :mechanize, :context def initialize @mechanize = Mechanize.new end def parse metadata self.context = @mechanize.get("#{metadata[:base_url]}#{metadata[:list_page]}").parser original_context = self.context metadata.iterators.each do |it| select_nodes(it.selector).each do |n| self.context = n it.all_properties.each do |p| p.result ||= [] result = locate_first(p) p.result << result if result end end end self.context = original_context metadata.all_properties.each do |p| result = locate_first p p.result = p.callback ? p.callback.call(result) : result end metadata.flatten end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
wombat-0.2.3 | lib/wombat/parser.rb |