| @@ -4,10 +4,10 @@ module Docs · 3 unmodified lines |
| 4 | | 4 | |
| 5 | attr_reader :request_options | 5 | attr_reader :request_options |
| 6 | | 6 | |
| 7 | def self.run(urls, options = {}, &block) | 7 | def self.run(urls, **options, &block) |
| 8 | urls = urls.dup | 8 | urls = urls.dup |
| 9 | requester = new(options) | 9 | requester = new(**options) |
| 10 | requester.on_response(&block) if block | 10 | requester.on_response(&block) if block_given? |
| 11 | requester.on_response do # cheap hack to ensure root page is processed first | 11 | requester.on_response do # cheap hack to ensure root page is processed first |
| 12 | if urls | 12 | if urls |
| 13 | requester.request(urls) | 13 | requester.request(urls) |
| @@ -19,16 +19,16 @@ module Docs · 5 unmodified lines |
| 19 | requester | 19 | requester |
| 20 | end | 20 | end |
| 21 | | 21 | |
| 22 | def initialize(options = {}) | 22 | def initialize(**options) |
| 23 | @request_options = options.extract!(:request_options)[:request_options].try(:dup) || {} | 23 | @request_options = options.extract!(:request_options)[:request_options].try(:dup) || {} |
| 24 | options[:max_concurrency] ||= 20 | 24 | options[:max_concurrency] ||= 20 |
| 25 | options[:pipelining] = 0 | 25 | options[:pipelining] = 0 |
| 26 | super | 26 | super |
| 27 | end | 27 | end |
| 28 | | 28 | |
| 29 | def request(urls, options = {}, &block) | 29 | def request(urls, **options, &block) |
| 30 | requests = [urls].flatten.map do |url| | 30 | requests = [urls].flatten.map do |url| |
| 31 | build_and_queue_request(url, options, &block) | 31 | build_and_queue_request(url, **options, &block) |
| 32 | end | 32 | end |
| 33 | requests.length == 1 ? requests.first : requests | 33 | requests.length == 1 ? requests.first : requests |
| 34 | end | 34 | end |
| @@ -46,8 +46,8 @@ module Docs · 11 unmodified lines |
| 46 | | 46 | |
| 47 | private | 47 | private |
| 48 | | 48 | |
| 49 | def build_and_queue_request(url, options, &block) | 49 | def build_and_queue_request(url, **options, &block) |
| 50 | request = Request.new(url, request_options.merge(options)) | 50 | request = Request.new(url, **request_options.merge(options)) |
| 51 | request.on_complete(&block) if block | 51 | request.on_complete(&block) if block |
| 52 | queue(request) | 52 | queue(request) |
| 53 | request | 53 | request |