pdf_links_checker 0.1.0 → 0.1.1

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: 264e2db0471dc175e0f036a4a6b6ac8d4c1cfbde048ca5c68c25627157d55a58
4
- data.tar.gz: 590bb293d281298ba78bfc68fb19af7619086036a6f0ef577516b141bafcc835
3
+ metadata.gz: 244603c961f81cca8061c369527ea98836af422cc46045cae57ce420cc3d49c5
4
+ data.tar.gz: a8a5158995e37b40d9d0180a43a9a8196f93b30a927ae5c9fba22b726778ee59
5
5
  SHA512:
6
- metadata.gz: 3c0cb19ffa322a61f780efdbf3c53bfb9e208fcde5088659bf43719ca3c1eeadd39a83155913ddc8df057c2f33f963308980c8c866452e1e72829ee6658b24c0
7
- data.tar.gz: 56397078ac6a86ed07bbbef086c315fd7f713e013e7e5f9918ca0561e56b351abeb82e390e7285a3c77c7c8cb2a26234ea6601b5ebf4a07584ee4bd219f27718
6
+ metadata.gz: 94501c39b1043b98acfd2a65ceb23fe5d6438c1f889e0f6b90624cb2eb1df23b23203489871a1665e5787686210793835b2489c23b5d87ca513442c05f9b4266
7
+ data.tar.gz: f8587232058d13e9c9101c65549da9cc4323f4eafb45791c27d1bdc03f1f26344a3a53d8925022682f0fd6a50366fe4842369fcfbf9ae0d0c762f21480fe4cad
data/.gitignore CHANGED
@@ -7,3 +7,4 @@
7
7
  /spec/reports/
8
8
  /tmp/
9
9
  Gemfile.lock
10
+ pdf_links_checker-*.gem
@@ -0,0 +1,4 @@
1
+ module PdfLinksChecker
2
+ class InvalidLink < StandardError
3
+ end
4
+ end
@@ -5,7 +5,7 @@ module PdfLinksChecker
5
5
  attr_reader :invalid
6
6
 
7
7
  def initialize(links_array)
8
- @urls= links_array.map { |link| URL.new(link) }
8
+ @urls= links_array.map { |link| PdfLinksChecker::URL.new(link) }
9
9
  @invalid = @urls.select { |url| url.invalid? }
10
10
  end
11
11
 
@@ -1,27 +1,41 @@
1
- class URL
2
- def initialize(pdf_link)
3
- @pdf_link = pdf_link
4
- end
1
+ require "pdf_links_checker/invalid_link"
2
+ require "uri"
5
3
 
6
- def invalid?
7
- uri = to_s
8
- url = URI.parse(uri)
9
- req = Net::HTTP.new(url.host, url.port)
10
- req.use_ssl = true if uri.include?("https")
11
-
12
- begin
13
- res = req.request_head(url.path)
14
- true if res.code == "404"
15
- rescue StandardError => e
16
- true
4
+ module PdfLinksChecker
5
+ class URL
6
+ def initialize(pdf_link)
7
+ @pdf_link = pdf_link
17
8
  end
18
- end
19
9
 
20
- def to_s
21
- pdf_link[:A][:URI]
22
- end
10
+ def invalid?
11
+ begin
12
+ uri = to_s
13
+ rescue PdfLinksChecker::InvalidLink => e
14
+ return false
15
+ end
16
+
17
+ url = URI.parse(uri)
18
+ req = Net::HTTP.new(url.host, url.port)
19
+ req.use_ssl = true if uri.include?("https")
20
+
21
+ begin
22
+ res = req.request_head(url.path)
23
+ return true if res.code == "404"
24
+ rescue StandardError => e
25
+ return true
26
+ end
23
27
 
24
- private
28
+ false
29
+ end
30
+
31
+ def to_s
32
+ a = pdf_link[:A]
33
+ raise PdfLinksChecker::InvalidLink.new('Invalid Link') unless a.respond_to?(:key?) && a.key?(:URI)
34
+ a[:URI]
35
+ end
25
36
 
26
- attr_reader :pdf_link
37
+ private
38
+
39
+ attr_reader :pdf_link
40
+ end
27
41
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module PdfLinksChecker
4
- VERSION = "0.1.0"
4
+ VERSION = "0.1.1"
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pdf_links_checker
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Andy Wendt
@@ -31,6 +31,7 @@ files:
31
31
  - exe/pdf_links_checker
32
32
  - lib/pdf_links_checker.rb
33
33
  - lib/pdf_links_checker/annotations.rb
34
+ - lib/pdf_links_checker/invalid_link.rb
34
35
  - lib/pdf_links_checker/links.rb
35
36
  - lib/pdf_links_checker/page.rb
36
37
  - lib/pdf_links_checker/pdf_document.rb