deadfinder 1.3.0 → 1.3.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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)