Fix **options

pull/1931/head
Simon Legner 2 years ago
parent 7fd7b0e151
commit 26ea24216e

@ -13,7 +13,7 @@ module Docs
request.run request.run
end end
def initialize(url, **options) def initialize(url, options = {})
super url.to_s, DEFAULT_OPTIONS.merge(options) super url.to_s, DEFAULT_OPTIONS.merge(options)
end end

@ -4,9 +4,9 @@ module Docs
attr_reader :request_options attr_reader :request_options
def self.run(urls, **options, &block) def self.run(urls, options = {}, &block)
urls = urls.dup urls = urls.dup
requester = new(**options) requester = new(options)
requester.on_response(&block) if block_given? requester.on_response(&block) if block_given?
requester.on_response do # cheap hack to ensure root page is processed first requester.on_response do # cheap hack to ensure root page is processed first
if urls if urls
@ -19,16 +19,16 @@ module Docs
requester requester
end end
def initialize(**options) def initialize(options = {})
@request_options = options.extract!(:request_options)[:request_options].try(:dup) || {} @request_options = options.extract!(:request_options)[:request_options].try(:dup) || {}
options[:max_concurrency] ||= 20 options[:max_concurrency] ||= 20
options[:pipelining] = 0 options[:pipelining] = 0
super super
end end
def request(urls, **options, &block) def request(urls, options = {}, &block)
requests = [urls].flatten.map do |url| requests = [urls].flatten.map do |url|
build_and_queue_request(url, **options, &block) build_and_queue_request(url, options, &block)
end end
requests.length == 1 ? requests.first : requests requests.length == 1 ? requests.first : requests
end end
@ -46,7 +46,7 @@ module Docs
private private
def build_and_queue_request(url, **options, &block) def build_and_queue_request(url, options = {}, &block)
request = Request.new(url, **request_options.merge(options)) request = Request.new(url, **request_options.merge(options))
request.on_complete(&block) if block request.on_complete(&block) if block
queue(request) queue(request)

Loading…
Cancel
Save