golia 1.2 → 1.2.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.
Files changed (3) hide show
  1. data/golia.gemspec +1 -1
  2. data/lib/golia.rb +13 -8
  3. metadata +3 -2
data/golia.gemspec CHANGED
@@ -8,7 +8,7 @@ Gem::Specification.new do |s|
8
8
  s.description = "Golia is an website performance analyzer. Check speed and dead links."
9
9
  s.default_executable = "golia"
10
10
  s.executables = ["golia"]
11
- s.version = "1.2"
11
+ s.version = "1.2.1"
12
12
  s.date = Time.now.strftime("%Y-%m-%d")
13
13
  s.extra_rdoc_files = Dir["*.rdoc"]
14
14
  s.files = %w(README.rdoc Rakefile golia.gemspec) + Dir["lib/**/*"]
data/lib/golia.rb CHANGED
@@ -7,12 +7,11 @@ require 'tmpdir'
7
7
  class Golia
8
8
  def initialize(link)
9
9
  @host = begin
10
- link = "http://#{link}" unless link =~ /^http/
11
- "http://" + URI.parse(link).host
12
- rescue
13
- puts "<= Invalid url #{link}"
10
+ link = "http://#{link}" unless link =~ /^http(s?)/
11
+ "http#{$1}://" + URI.parse(link).host
14
12
  end
15
- @pid = "#{Dir.tmpdir}/golia-#{@host.gsub(/^http:\/\//, '')}"
13
+
14
+ @pid = "#{Dir.tmpdir}/golia-#{@host.gsub(/^https?:\/\//, '')}"
16
15
  @checked, @links, @invalid, @valid, @long, @ms = [], [], [], [], [], []
17
16
 
18
17
  if File.exist?(@pid)
@@ -20,9 +19,14 @@ class Golia
20
19
  Process.kill(9, File.read(@pid).to_i) rescue nil
21
20
  end
22
21
 
23
- trap("INT") { puts "<= Golia has ended his set (crowd applauds)"; kill; Process.kill(9, Process.pid) }
22
+ trap("INT") { puts "<= Golia has ended his set (crowd applauds)"; kill }
24
23
 
25
- parse!(link)
24
+ begin
25
+ parse!(link)
26
+ rescue
27
+ puts "<= Invalid url #{link}"
28
+ kill
29
+ end
26
30
  end
27
31
 
28
32
  def parse!(url)
@@ -31,12 +35,13 @@ class Golia
31
35
  @ms << Time.now-begun_at
32
36
  body = response.read
33
37
  links = body.scan(/<a.+?href=["'](.+?)["']/m).flatten
34
- links.reject! { |link| link =~ /^\/$|^http|^mailto|^javascript|#/ || File.extname(link) != "" }
38
+ links.reject! { |link| link =~ /^\/$|^https?|^mailto|^javascript|#/ || File.extname(link) != "" }
35
39
  links.map! { |link| link = "/"+link if link !~ /^\//; @host+link }
36
40
  @links.concat(links-@checked)
37
41
  end
38
42
 
39
43
  def kill
44
+ Process.kill(9, Process.pid)
40
45
  FileUtils.rm_rf(@pid)
41
46
  end
42
47
 
metadata CHANGED
@@ -1,12 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: golia
3
3
  version: !ruby/object:Gem::Version
4
- hash: 11
4
+ hash: 29
5
5
  prerelease:
6
6
  segments:
7
7
  - 1
8
8
  - 2
9
- version: "1.2"
9
+ - 1
10
+ version: 1.2.1
10
11
  platform: ruby
11
12
  authors:
12
13
  - DAddYE