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