# File lib/scraper/base.rb, line 283
283:       def extractor(map)
284:         extracts = []
285:         map.each_pair do |target, source|
286:           source = extract_value_from(source)
287:           target = extract_value_to(target)
288:           define_method :__extractor do |element|
289:             value = source.call(element)
290:             target.call(self, value) if !value.nil?
291:           end
292:           extracts << instance_method(:__extractor)
293:           remove_method :__extractor
294:         end
295:         lambda do |element|
296:           extracts.each do |extract|
297:             extract.bind(self).call(element)
298:           end
299:           true
300:         end
301:       end