Sha256: 0ff77ab6bf41cbba833d75f64af469cc96217bc76b4b43c06518a08f6f479399
Contents?: true
Size: 869 Bytes
Versions: 2
Compression:
Stored size: 869 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 ||= [] p.result << locate_first(p) 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
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
wombat-0.2.2 | lib/wombat/parser.rb |
wombat-0.2.0 | lib/wombat/parser.rb |