class Scraping::Rules::Element
Attributes
extract[R]
name[R]
options[R]
selector[R]
Public Class Methods
new(name, selector, options = {}, &extract)
click to toggle source
# File lib/scraping/rules/element.rb, line 6 def initialize(name, selector, options = {}, &extract) @name = name @selector = selector @options = options @extract = extract if block_given? end
Public Instance Methods
call(scraper, node)
click to toggle source
# File lib/scraping/rules/element.rb, line 13 def call(scraper, node) item = node.at(selector) if item && options[:as] scraper.send("extract_#{options[:as]}", item) elsif item && extract scraper.instance_exec(item, &extract) elsif item item.text end end