deadfinder 1.3.1 → 1.3.3

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: 835501ebbcc9595269b2d626cb633b3ee1f85933aabfed4db90ea36485da2e7e
4
- data.tar.gz: 10e96332604fdbb4034b45aa495c6a64e7d032aa8611b91b3c595a8d2e318ba7
3
+ metadata.gz: 377aa9a71d49b65ad611bab1c63c0543222945698a103e823c945ab90b9f6c85
4
+ data.tar.gz: a019b5fc6c7a612069d9cc5ac670c20ade4f7e9a4a1f4a667ac8beced83ad110
5
5
  SHA512:
6
- metadata.gz: 5e513feef7463910c0458ac9831b77a9d1edcefae4ce6c8e376f7a4d734b77903fab3551a6d29f65f37f5570927d378808236b32922f667aa09d1f05d3a8cbb1
7
- data.tar.gz: 301574e78e4412144fea1a0d3681a29b8148feee991bb6ed00111a0d2165e5a913cb608831c0efc37d1284f3e599ff25b19cda627c2d3f114c37dff04eb18b50
6
+ metadata.gz: 2a1a3c9cdfe1aee0cd72ed1447cbea9625e84815f080efea785418316f932445f6384bd516793456112d58470c1b1dc8dcaf1d9997d8bb873577236c873022fa
7
+ data.tar.gz: b28a42b5b7edc9dde8ce00d333f8f5924916b89758885465a0164cdbd02e371ad82b8133c2287a5e3f341a79f0ce6b21fdbe00df97981b556ab4ae0c12269467
@@ -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.1'
3
+ VERSION = '1.3.3'
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.1
4
+ version: 1.3.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - hahwul
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-05-16 00:00:00.000000000 Z
11
+ date: 2023-08-12 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: colorize