module Horsefield::Scraper::ClassMethods
Public Instance Methods
helper(name, &block)
click to toggle source
# File lib/horsefield/scraper.rb, line 52 def helper(name, &block) [Nokogiri::HTML::Document, Nokogiri::XML::Element].each do |klass| klass.instance_eval do define_method(name) { |*args| block.call(*args) } end end end
lookups()
click to toggle source
# File lib/horsefield/scraper.rb, line 44 def lookups @lookups ||= [] end
many(name, selector, lookup = :optional, &block)
click to toggle source
# File lib/horsefield/scraper.rb, line 64 def many(name, selector, lookup = :optional, &block) self.lookups << lambda { |doc| doc.many(name, selector, lookup, &block) } end
many!(name, selector, &block)
click to toggle source
# File lib/horsefield/scraper.rb, line 68 def many!(name, selector, &block) many(name, selector, :required, &block) end
many?(name, selector, &block)
click to toggle source
# File lib/horsefield/scraper.rb, line 72 def many?(name, selector, &block) many(name, selector, :presence, &block) end
one(name, selector = nil, lookup = :optional, &block)
click to toggle source
# File lib/horsefield/scraper.rb, line 60 def one(name, selector = nil, lookup = :optional, &block) self.lookups << lambda { |doc| doc.one(name, selector, lookup, &block) } end
one!(name, selector = nil, &block)
click to toggle source
# File lib/horsefield/scraper.rb, line 76 def one!(name, selector = nil, &block) one(name, selector, :required, &block) end
one?(name, selector = nil, &block)
click to toggle source
# File lib/horsefield/scraper.rb, line 80 def one?(name, selector = nil, &block) one(name, selector, :presence, &block) end
postprocess(&block)
click to toggle source
# File lib/horsefield/scraper.rb, line 88 def postprocess(&block) @postprocessor = block end
postprocessor()
click to toggle source
# File lib/horsefield/scraper.rb, line 48 def postprocessor @postprocessor || Proc.new { self } end
scope(selector, &block)
click to toggle source
# File lib/horsefield/scraper.rb, line 84 def scope(selector, &block) self.lookups << lambda { |doc| doc.at(selector).instance_eval(&block) } end