Skip to content

Commit 62688dc

Browse files
committed
chore: fix rubocop offenses
Also fixes a leaked file descriptor in the templator and a dead branch in the fields.
1 parent 05eb997 commit 62688dc

18 files changed

Lines changed: 44 additions & 30 deletions

‎.rubocop.yml‎

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,11 @@ AllCops:
66
Layout/FirstArrayElementIndentation:
77
EnforcedStyle: consistent
88

9+
Naming/PredicateMethod:
10+
AllowedMethods:
11+
- page_snapshot
12+
- prepare
13+
914
Naming/MethodParameterName:
1015
MinNameLength: 2
1116
AllowedNames:

‎lib/vessel/cargo.rb‎

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,9 @@
77

88
module Vessel
99
class Cargo
10-
def self.run(settings = nil, &block)
10+
def self.run(settings = nil, &)
1111
self.settings.merge!(Hash(settings))
12-
Engine.run(self, &block)
12+
Engine.run(self, &)
1313
end
1414

1515
def self.build_request(url:, **options)
@@ -34,6 +34,7 @@ def self.store_cookies(cookies)
3434
include Fieldable
3535
extend Settings
3636
extend Forwardable
37+
3738
delegate %i[at_css css at_xpath xpath absolute_url join_url
3839
url url_encode url_decode uri_encode uri_decode
3940
data attempt body raw] => :response

‎lib/vessel/cargo/fieldable.rb‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,10 +11,10 @@ def fields
1111
@fields ||= Fields.new
1212
end
1313

14-
def field(name, *rest, &block)
14+
def field(name, *rest, &)
1515
options = rest.last.is_a?(Hash) ? rest.pop : {}
1616
service = options.delete(:service)
17-
field = Field.new(name: name, value: options[:value], context: self, **options, &block)
17+
field = Field.new(name: name, value: options[:value], context: self, **options, &)
1818
value = field.apply
1919
if service
2020
fields.service[name.to_sym] = value

‎lib/vessel/cargo/fields.rb‎

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ class Fields
77

88
def initialize(data = nil)
99
@service = {}
10-
@fields = data.to_h || {}
10+
@fields = data.to_h
1111
end
1212

1313
def []=(key, value)
@@ -26,8 +26,8 @@ def count
2626
@fields.count
2727
end
2828

29-
def select(&block)
30-
@fields.send(:select, &block)
29+
def select(&)
30+
@fields.send(:select, &)
3131
end
3232

3333
def zip(value)
@@ -46,8 +46,8 @@ def to_h
4646
@fields
4747
end
4848

49-
def each(&block)
50-
@fields.each(&block)
49+
def each(&)
50+
@fields.each(&)
5151
end
5252
end
5353
end

‎lib/vessel/driver.rb‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,6 @@ def create_page(proxy: nil)
5050
def restart
5151
stop
5252
start
53-
true
5453
end
5554

5655
def go_to(request)
@@ -81,7 +80,8 @@ def go_to(request)
8180
Logger.error("Driver: #{e.class}: #{e.message}")
8281
if attempt < settings[:network_error_attempts]
8382
attempt = visit(url)
84-
restart && retry
83+
restart
84+
retry
8585
end
8686
end
8787

‎lib/vessel/driver/ferrum/driver.rb‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ def self.direct_network_errors
2323

2424
def start
2525
driver_options = settings.fetch(:driver_options, {})
26-
@browser = ::Ferrum::Browser.new(**DEFAULT_OPTIONS.merge(driver_options))
26+
@browser = ::Ferrum::Browser.new(**DEFAULT_OPTIONS, **driver_options)
2727
end
2828

2929
def stop

‎lib/vessel/driver/ferrum/page.rb‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ class Driver
77
module Ferrum
88
class Page < Page
99
extend Forwardable
10+
1011
delegate %i[css at_css xpath at_xpath body current_url go_to] => :page
1112

1213
attr_reader :page

‎lib/vessel/driver/mechanize/page.rb‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ class Driver
77
module Mechanize
88
class Page < Page
99
extend Forwardable
10+
1011
delegate %i[css at_css xpath at_xpath body] => :page
1112

1213
attr_reader :mechanize

‎lib/vessel/engine.rb‎

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -6,18 +6,18 @@ module Vessel
66
class Engine
77
include Stats
88

9-
def self.run(*args, &block)
10-
new(*args, &block).tap(&:run)
9+
def self.run(...)
10+
new(...).tap(&:run)
1111
end
1212

1313
attr_reader :crawler_class, :settings, :scheduler, :middleware_scheduler
1414

15-
def initialize(klass, &block)
15+
def initialize(klass, &)
1616
@crawler_class = klass
1717
@settings = klass.settings
1818
@queue = SizedQueue.new(settings[:max_threads])
1919
@scheduler = Scheduler.new(@queue, settings)
20-
@middleware_scheduler = MiddlewareScheduler.new(settings, &block)
20+
@middleware_scheduler = MiddlewareScheduler.new(settings, &)
2121
end
2222

2323
def run
@@ -61,7 +61,7 @@ def handle(response, request, error)
6161
Logger.debug("Engine: crawler starts processing #{response.url} with :#{response.handler}")
6262
crawler.send(*args) do |*result|
6363
result = result.flatten
64-
if result.all? { |i| i.is_a?(Request) }
64+
if result.all?(Request)
6565
Logger.debug("Engine: :#{response.handler} enqueued requests #{result.map { |r| r.url.to_s }}")
6666
schedule(result)
6767
else

‎lib/vessel/loader.rb‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ def templator
1313
end
1414

1515
def load_crawlers
16-
Dir["crawlers/**/*.rb"].sort.each { |file| require(file) }
16+
Dir["crawlers/**/*.rb"].each { |file| require(file) }
1717
end
1818

1919
def load_crawler(name)

0 commit comments

Comments
 (0)