deadfinder 1.3.0 → 1.3.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 1f66dee5b8a32028d31fbd56996f59d2c388673ba4b5220135a8b7193f43917a
4
- data.tar.gz: 5e3afcafadd5199573614a4de74b446bca6df3a6edb2272459989a468eace160
3
+ metadata.gz: 12455e150d71e5a530e87b4d9dc4f0574d3d0299517845eb658352ca7d84f993
4
+ data.tar.gz: a6c814813ec32b232c3d6f80ccdb30abe6c6d415bde115e0e5f32565c324bf33
5
5
  SHA512:
6
- metadata.gz: d040d1d57abf50e7eee69a67be3833ba33775f92b51dbc6efc02817cdf7fa7f21f285513f787c7de7a7e7881e4caef9e130bcfc5f072fe73152487bca223490d
7
- data.tar.gz: d4b85b1a4568fc2279cd68ac82df4df7c3918d28656b6839d16c6348128b47179868fecbbb42f3ae12da84f280e027390f87beddc20a03878f5c8599f1436317
6
+ metadata.gz: 96aa450aae3e40724bf4b036e8659ee2459c94397b8d13590a0afba3dfb7dd3b4f3472dd2a4bf34c43372d0903cba5598f0a8db857628205410869988369d05c
7
+ data.tar.gz: be0dcde8d46ad1b6ef7afc33de2e65ebda02e716f61898659e0f9d08176ed15d33d2e204f226e131967e2e4ec570add1bd687f1b1eb55ce56d1c7509ab7af05b
@@ -11,12 +11,36 @@ def generate_url(text, base_url)
11
11
  return "#{uri.scheme}:#{node}"
12
12
  elsif node.start_with? '/'
13
13
  return "#{uri.scheme}://#{uri.host}#{node}"
14
+ elsif ignore_scheme? node
15
+ return nil
14
16
  else
15
- return "#{uri}#{node}"
17
+ return "#{extract_directory(uri)}#{node}"
16
18
  end
17
19
  end
18
- rescue StandardError => e
20
+ rescue StandardError
19
21
  # puts e
20
22
  end
21
23
  node
22
24
  end
25
+
26
+ def ignore_scheme?(url)
27
+ url.start_with?('mailto:', 'tel:', 'sms:', 'data:', 'file:')
28
+ end
29
+
30
+ def extract_directory(uri)
31
+ if uri.path.end_with?('/')
32
+ return "#{uri.scheme}://#{uri.host}#{uri.path}"
33
+ end
34
+
35
+ path_components = uri.path.split('/')
36
+ last_component = path_components.last
37
+ path_components.pop
38
+
39
+ directory_path = path_components.join('/')
40
+
41
+ if directory_path.start_with?('/')
42
+ "#{uri.scheme}://#{uri.host}#{directory_path}/"
43
+ else
44
+ "#{uri.scheme}://#{uri.host}/#{directory_path}/"
45
+ end
46
+ end
@@ -1,3 +1,3 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- VERSION = '1.3.0'
3
+ VERSION = '1.3.2'
data/lib/deadfinder.rb CHANGED
@@ -56,11 +56,13 @@ class DeadFinderRunner
56
56
 
57
57
  link_merged.uniq.each do |node|
58
58
  result = generate_url node, target
59
- jobs << result
59
+ jobs << result unless result.nil?
60
60
  end
61
+
62
+ jobs_size = jobs.size
61
63
  jobs.close
62
64
 
63
- (1..link_merged.uniq.length).each do
65
+ (1..jobs_size).each do
64
66
  ~results
65
67
  end
66
68
  Logger.sub_done 'Done'
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: deadfinder
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.3.0
4
+ version: 1.3.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - hahwul
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-10-12 00:00:00.000000000 Z
11
+ date: 2023-08-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: colorize
@@ -157,7 +157,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
157
157
  - !ruby/object:Gem::Version
158
158
  version: '0'
159
159
  requirements: []
160
- rubygems_version: 3.3.3
160
+ rubygems_version: 3.4.10
161
161
  signing_key:
162
162
  specification_version: 4
163
163
  summary: Find dead-links (broken links)