class ImageInfo::Processor
Attributes
images[R]
options[R]
Public Class Methods
new(urls, options = { max_concurrency: ::ImageInfo.config.max_concurrency })
click to toggle source
# File lib/image_info/processor.rb, line 11 def initialize(urls, options = { max_concurrency: ::ImageInfo.config.max_concurrency }) @images = Array(urls).map { |uri| ::ImageInfo::Image.new(uri) }.keep_if(&:valid?) @options = options end
Public Instance Methods
process()
click to toggle source
# File lib/image_info/processor.rb, line 16 def process images.each { |image| hydra.queue(::ImageInfo::RequestHandler.new(image).build) } hydra.run images end
Private Instance Methods
hydra()
click to toggle source
# File lib/image_info/processor.rb, line 25 def hydra @hydra ||= ::Typhoeus::Hydra.new(max_concurrency: options[:max_concurrency].to_i) end