ndd-url_checker 0.3.2 → 0.3.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +8 -0
- data/LICENSE.txt +18 -17
- data/README.md +14 -7
- data/lib/ndd/url_checker.rb +6 -0
- data/lib/ndd/url_checker/reporting_url_checker.rb +4 -0
- data/lib/ndd/url_checker/status.rb +1 -0
- data/lib/ndd/url_checker/status_decorator.rb +11 -0
- data/lib/ndd/url_checker/version.rb +5 -0
- metadata +9 -249
- data/.document +0 -5
- data/.rspec +0 -1
- data/.ruby-gemset +0 -1
- data/.ruby-version +0 -1
- data/.travis.yml +0 -16
- data/Gemfile +0 -50
- data/Gemfile.lock +0 -162
- data/Guardfile +0 -38
- data/Rakefile +0 -51
- data/VERSION +0 -1
- data/lib/ndd/url_checker/reporting_url_checker.csv.erb +0 -4
- data/lib/ndd/url_checker/reporting_url_checker.html.erb +0 -188
- data/lib/ndd/url_checker/reporting_url_checker.json.erb +0 -27
- data/ndd-url_checker.gemspec +0 -134
- data/spec/ndd/url_checker/abstract_url_checker_spec.rb +0 -11
- data/spec/ndd/url_checker/blocking_url_checker_spec.rb +0 -12
- data/spec/ndd/url_checker/forked_url_checker_spec.rb +0 -12
- data/spec/ndd/url_checker/parallel_url_checker_spec.rb +0 -62
- data/spec/ndd/url_checker/reporting_url_checker/custom.txt.erb +0 -8
- data/spec/ndd/url_checker/reporting_url_checker/multiple_urls.csv +0 -6
- data/spec/ndd/url_checker/reporting_url_checker/multiple_urls.html +0 -246
- data/spec/ndd/url_checker/reporting_url_checker/multiple_urls.json +0 -49
- data/spec/ndd/url_checker/reporting_url_checker/multiple_urls.txt +0 -26
- data/spec/ndd/url_checker/reporting_url_checker/single_url.csv +0 -2
- data/spec/ndd/url_checker/reporting_url_checker/single_url.html +0 -182
- data/spec/ndd/url_checker/reporting_url_checker/single_url.json +0 -25
- data/spec/ndd/url_checker/reporting_url_checker/single_url.txt +0 -6
- data/spec/ndd/url_checker/reporting_url_checker_spec.rb +0 -131
- data/spec/ndd/url_checker/status_decorator_spec.rb +0 -208
- data/spec/ndd/url_checker/status_spec.rb +0 -510
- data/spec/ndd/url_checker/threaded_url_checker_spec.rb +0 -13
- data/spec/spec_helper.rb +0 -81
- data/spec/support/multiple_url_checker_spec.rb +0 -58
- data/spec/support/single_url_checker_spec.rb +0 -252
data/.document
DELETED
data/.rspec
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
--colour --format documentation --tag focused
|
data/.ruby-gemset
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
ndd-url_checker
|
data/.ruby-version
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
ruby-2.2.3
|
data/.travis.yml
DELETED
@@ -1,16 +0,0 @@
|
|
1
|
-
language: ruby
|
2
|
-
rvm:
|
3
|
-
- 2.0.0
|
4
|
-
- 2.1.7
|
5
|
-
- 2.2.3
|
6
|
-
before_install:
|
7
|
-
- gem update --system
|
8
|
-
- gem --version
|
9
|
-
branches:
|
10
|
-
only:
|
11
|
-
- master
|
12
|
-
- development
|
13
|
-
addons:
|
14
|
-
code_climate:
|
15
|
-
repo_token:
|
16
|
-
secure: "jwblN6fY+HN0u+JfNWKNRNRExOlDH0NbuPprLxqac3kjE3ER11pJieXJKOoeFMcYJ8Z/33qPn4KhOPeYV/0HcZW5YD3G9pjry+c2ha9S7YjIQi8O0BR/iUmqzhvYOT6OoR+khJl9pf5/li3OfXUbAVNdcEDAKARuzl/XnGpqsdE="
|
data/Gemfile
DELETED
@@ -1,50 +0,0 @@
|
|
1
|
-
source 'http://rubygems.org'
|
2
|
-
|
3
|
-
HOST_OS = RbConfig::CONFIG['host_os']
|
4
|
-
|
5
|
-
|
6
|
-
# ------------------------------------------------------------------------------
|
7
|
-
# Dependencies required to use the gem.
|
8
|
-
gem 'cod', '~> 0.6'
|
9
|
-
gem 'logging', '~> 1.8'
|
10
|
-
|
11
|
-
|
12
|
-
# ------------------------------------------------------------------------------
|
13
|
-
# Dependencies to develop the gem.
|
14
|
-
# Everything needed to run rake, tests, features, etc.
|
15
|
-
group :development do
|
16
|
-
|
17
|
-
gem 'bundler', '~> 1.7', require: false
|
18
|
-
gem 'guard', '~> 2.13', require: false
|
19
|
-
gem 'guard-bundler', '~> 2.0', require: false
|
20
|
-
gem 'guard-rspec', '~> 4.6', require: false
|
21
|
-
gem 'guard-spork', '~> 2.0', require: false
|
22
|
-
gem 'jeweler', '~> 2.0', require: false
|
23
|
-
gem 'rdoc', '~> 4.1', require: false
|
24
|
-
gem 'rspec', '~> 3.3', require: false
|
25
|
-
gem 'rspec-collection_matchers', '~> 1.1', require: false
|
26
|
-
gem 'simplecov', '~> 0.9', require: false
|
27
|
-
gem 'spork', '~> 0.9', require: false
|
28
|
-
gem 'webmock', '~> 1.20', require: false
|
29
|
-
gem 'yard', '~> 0.8', require: false
|
30
|
-
|
31
|
-
case HOST_OS
|
32
|
-
when /darwin/i
|
33
|
-
gem 'growl'
|
34
|
-
gem 'rb-fsevent'
|
35
|
-
when /linux/i
|
36
|
-
gem 'libnotify'
|
37
|
-
gem 'rb-inotify'
|
38
|
-
when /mswin|windows/i
|
39
|
-
gem 'rb-fchange'
|
40
|
-
gem 'rb-notifu'
|
41
|
-
gem 'win32console'
|
42
|
-
else
|
43
|
-
raise "Platform '#{HOST_OS}' is not supported"
|
44
|
-
end
|
45
|
-
|
46
|
-
end
|
47
|
-
|
48
|
-
group :test do
|
49
|
-
gem 'codeclimate-test-reporter', '~> 0.4', require: false
|
50
|
-
end
|
data/Gemfile.lock
DELETED
@@ -1,162 +0,0 @@
|
|
1
|
-
GEM
|
2
|
-
remote: http://rubygems.org/
|
3
|
-
specs:
|
4
|
-
addressable (2.3.8)
|
5
|
-
builder (3.2.2)
|
6
|
-
childprocess (0.5.9)
|
7
|
-
ffi (~> 1.0, >= 1.0.11)
|
8
|
-
cod (0.6.0)
|
9
|
-
codeclimate-test-reporter (0.4.8)
|
10
|
-
simplecov (>= 0.7.1, < 1.0.0)
|
11
|
-
coderay (1.1.0)
|
12
|
-
crack (0.4.3)
|
13
|
-
safe_yaml (~> 1.0.0)
|
14
|
-
descendants_tracker (0.0.4)
|
15
|
-
thread_safe (~> 0.3, >= 0.3.1)
|
16
|
-
diff-lcs (1.2.5)
|
17
|
-
docile (1.1.5)
|
18
|
-
faraday (0.9.2)
|
19
|
-
multipart-post (>= 1.2, < 3)
|
20
|
-
ffi (1.9.10)
|
21
|
-
formatador (0.2.5)
|
22
|
-
git (1.2.9.1)
|
23
|
-
github_api (0.13.0)
|
24
|
-
addressable (~> 2.3)
|
25
|
-
descendants_tracker (~> 0.0.4)
|
26
|
-
faraday (~> 0.8, < 0.10)
|
27
|
-
hashie (>= 3.4)
|
28
|
-
multi_json (>= 1.7.5, < 2.0)
|
29
|
-
nokogiri (~> 1.6.6)
|
30
|
-
oauth2
|
31
|
-
guard (2.13.0)
|
32
|
-
formatador (>= 0.2.4)
|
33
|
-
listen (>= 2.7, <= 4.0)
|
34
|
-
lumberjack (~> 1.0)
|
35
|
-
nenv (~> 0.1)
|
36
|
-
notiffany (~> 0.0)
|
37
|
-
pry (>= 0.9.12)
|
38
|
-
shellany (~> 0.0)
|
39
|
-
thor (>= 0.18.1)
|
40
|
-
guard-bundler (2.1.0)
|
41
|
-
bundler (~> 1.0)
|
42
|
-
guard (~> 2.2)
|
43
|
-
guard-compat (~> 1.1)
|
44
|
-
guard-compat (1.2.1)
|
45
|
-
guard-rspec (4.6.4)
|
46
|
-
guard (~> 2.1)
|
47
|
-
guard-compat (~> 1.1)
|
48
|
-
rspec (>= 2.99.0, < 4.0)
|
49
|
-
guard-spork (2.1.0)
|
50
|
-
childprocess (>= 0.2.3)
|
51
|
-
guard (~> 2.0)
|
52
|
-
guard-compat (~> 1.0)
|
53
|
-
spork (>= 0.8.4)
|
54
|
-
hashdiff (0.2.3)
|
55
|
-
hashie (3.4.3)
|
56
|
-
highline (1.7.8)
|
57
|
-
jeweler (2.0.1)
|
58
|
-
builder
|
59
|
-
bundler (>= 1.0)
|
60
|
-
git (>= 1.2.5)
|
61
|
-
github_api
|
62
|
-
highline (>= 1.6.15)
|
63
|
-
nokogiri (>= 1.5.10)
|
64
|
-
rake
|
65
|
-
rdoc
|
66
|
-
json (1.8.3)
|
67
|
-
jwt (1.5.2)
|
68
|
-
libnotify (0.9.1)
|
69
|
-
ffi (>= 1.0.11)
|
70
|
-
listen (3.0.5)
|
71
|
-
rb-fsevent (>= 0.9.3)
|
72
|
-
rb-inotify (>= 0.9)
|
73
|
-
little-plugger (1.1.4)
|
74
|
-
logging (1.8.2)
|
75
|
-
little-plugger (>= 1.1.3)
|
76
|
-
multi_json (>= 1.8.4)
|
77
|
-
lumberjack (1.0.10)
|
78
|
-
method_source (0.8.2)
|
79
|
-
mini_portile2 (2.0.0)
|
80
|
-
multi_json (1.11.2)
|
81
|
-
multi_xml (0.5.5)
|
82
|
-
multipart-post (2.0.0)
|
83
|
-
nenv (0.2.0)
|
84
|
-
nokogiri (1.6.7.1)
|
85
|
-
mini_portile2 (~> 2.0.0.rc2)
|
86
|
-
notiffany (0.0.8)
|
87
|
-
nenv (~> 0.1)
|
88
|
-
shellany (~> 0.0)
|
89
|
-
oauth2 (1.0.0)
|
90
|
-
faraday (>= 0.8, < 0.10)
|
91
|
-
jwt (~> 1.0)
|
92
|
-
multi_json (~> 1.3)
|
93
|
-
multi_xml (~> 0.5)
|
94
|
-
rack (~> 1.2)
|
95
|
-
pry (0.10.3)
|
96
|
-
coderay (~> 1.1.0)
|
97
|
-
method_source (~> 0.8.1)
|
98
|
-
slop (~> 3.4)
|
99
|
-
rack (1.6.4)
|
100
|
-
rake (10.4.2)
|
101
|
-
rb-fsevent (0.9.7)
|
102
|
-
rb-inotify (0.9.5)
|
103
|
-
ffi (>= 0.5.0)
|
104
|
-
rdoc (4.2.1)
|
105
|
-
json (~> 1.4)
|
106
|
-
rspec (3.4.0)
|
107
|
-
rspec-core (~> 3.4.0)
|
108
|
-
rspec-expectations (~> 3.4.0)
|
109
|
-
rspec-mocks (~> 3.4.0)
|
110
|
-
rspec-collection_matchers (1.1.2)
|
111
|
-
rspec-expectations (>= 2.99.0.beta1)
|
112
|
-
rspec-core (3.4.1)
|
113
|
-
rspec-support (~> 3.4.0)
|
114
|
-
rspec-expectations (3.4.0)
|
115
|
-
diff-lcs (>= 1.2.0, < 2.0)
|
116
|
-
rspec-support (~> 3.4.0)
|
117
|
-
rspec-mocks (3.4.0)
|
118
|
-
diff-lcs (>= 1.2.0, < 2.0)
|
119
|
-
rspec-support (~> 3.4.0)
|
120
|
-
rspec-support (3.4.1)
|
121
|
-
safe_yaml (1.0.4)
|
122
|
-
shellany (0.0.1)
|
123
|
-
simplecov (0.11.1)
|
124
|
-
docile (~> 1.1.0)
|
125
|
-
json (~> 1.8)
|
126
|
-
simplecov-html (~> 0.10.0)
|
127
|
-
simplecov-html (0.10.0)
|
128
|
-
slop (3.6.0)
|
129
|
-
spork (0.9.2)
|
130
|
-
thor (0.19.1)
|
131
|
-
thread_safe (0.3.5)
|
132
|
-
webmock (1.22.5)
|
133
|
-
addressable (< 2.4.0)
|
134
|
-
crack (>= 0.3.2)
|
135
|
-
hashdiff
|
136
|
-
yard (0.8.7.6)
|
137
|
-
|
138
|
-
PLATFORMS
|
139
|
-
ruby
|
140
|
-
|
141
|
-
DEPENDENCIES
|
142
|
-
bundler (~> 1.7)
|
143
|
-
cod (~> 0.6)
|
144
|
-
codeclimate-test-reporter (~> 0.4)
|
145
|
-
guard (~> 2.13)
|
146
|
-
guard-bundler (~> 2.0)
|
147
|
-
guard-rspec (~> 4.6)
|
148
|
-
guard-spork (~> 2.0)
|
149
|
-
jeweler (~> 2.0)
|
150
|
-
libnotify
|
151
|
-
logging (~> 1.8)
|
152
|
-
rb-inotify
|
153
|
-
rdoc (~> 4.1)
|
154
|
-
rspec (~> 3.3)
|
155
|
-
rspec-collection_matchers (~> 1.1)
|
156
|
-
simplecov (~> 0.9)
|
157
|
-
spork (~> 0.9)
|
158
|
-
webmock (~> 1.20)
|
159
|
-
yard (~> 0.8)
|
160
|
-
|
161
|
-
BUNDLED WITH
|
162
|
-
1.10.6
|
data/Guardfile
DELETED
@@ -1,38 +0,0 @@
|
|
1
|
-
# ----------------------------------------------------------------------------------------------------------------------
|
2
|
-
# bundler
|
3
|
-
# ----------------------------------------------------------------------------------------------------------------------
|
4
|
-
|
5
|
-
guard 'bundler' do
|
6
|
-
watch('Gemfile')
|
7
|
-
end
|
8
|
-
|
9
|
-
|
10
|
-
# ----------------------------------------------------------------------------------------------------------------------
|
11
|
-
# spork (must be before rspec and cucumber)
|
12
|
-
# ----------------------------------------------------------------------------------------------------------------------
|
13
|
-
|
14
|
-
guard 'spork',
|
15
|
-
wait: 60 do
|
16
|
-
|
17
|
-
watch('Gemfile')
|
18
|
-
watch('Gemfile.lock')
|
19
|
-
|
20
|
-
# ----- spec directory
|
21
|
-
watch('spec/spec_helper.rb')
|
22
|
-
end
|
23
|
-
|
24
|
-
|
25
|
-
# ----------------------------------------------------------------------------------------------------------------------
|
26
|
-
# rspec
|
27
|
-
# ----------------------------------------------------------------------------------------------------------------------
|
28
|
-
|
29
|
-
guard :rspec, cmd: 'bundle exec rspec' do
|
30
|
-
|
31
|
-
# ----- lib directory
|
32
|
-
watch(%r{^lib/(.+)\.rb$}) { |m| %W(spec/#{m[1]}_spec.rb) }
|
33
|
-
watch(%r{^lib/(.+)\.(.+)\.erb$}) { |m| %W(spec/#{m[1]}_spec.rb) }
|
34
|
-
|
35
|
-
# ----- spec directory
|
36
|
-
watch(%r{^spec/.+_spec\.rb$})
|
37
|
-
watch(%r{^spec/support/(.+)\.rb$}) { %W(spec) }
|
38
|
-
end
|
data/Rakefile
DELETED
@@ -1,51 +0,0 @@
|
|
1
|
-
# encoding: utf-8
|
2
|
-
|
3
|
-
require 'rubygems'
|
4
|
-
require 'bundler'
|
5
|
-
begin
|
6
|
-
Bundler.setup(:default, :development)
|
7
|
-
rescue Bundler::BundlerError => e
|
8
|
-
$stderr.puts e.message
|
9
|
-
$stderr.puts 'Run `bundle install` to install missing gems'
|
10
|
-
exit e.status_code
|
11
|
-
end
|
12
|
-
require 'rake'
|
13
|
-
|
14
|
-
require 'jeweler'
|
15
|
-
Jeweler::Tasks.new do |gem|
|
16
|
-
# gem is a Gem::Specification
|
17
|
-
# see http://guides.rubygems.org/specification-reference/ for more options
|
18
|
-
gem.name = 'ndd-url_checker'
|
19
|
-
gem.summary = 'Validate URLs'
|
20
|
-
gem.description = 'Validate URLs'
|
21
|
-
gem.homepage = 'http://github.com/ddidier/ndd-url_checker'
|
22
|
-
gem.license = 'MIT'
|
23
|
-
gem.email = 'c_inconnu2@yahoo.fr'
|
24
|
-
gem.authors = ['David DIDIER']
|
25
|
-
# dependencies defined in Gemfile
|
26
|
-
end
|
27
|
-
Jeweler::RubygemsDotOrgTasks.new
|
28
|
-
|
29
|
-
require 'rspec/core'
|
30
|
-
require 'rspec/core/rake_task'
|
31
|
-
RSpec::Core::RakeTask.new(:spec) do |spec|
|
32
|
-
spec.pattern = FileList['spec/**/*_spec.rb']
|
33
|
-
end
|
34
|
-
|
35
|
-
desc 'Code coverage detail'
|
36
|
-
task :simplecov do
|
37
|
-
ENV['COVERAGE'] = 'true'
|
38
|
-
Rake::Task['spec'].execute
|
39
|
-
end
|
40
|
-
|
41
|
-
task :default => :spec
|
42
|
-
|
43
|
-
require 'rdoc/task'
|
44
|
-
Rake::RDocTask.new do |rdoc|
|
45
|
-
version = File.exist?('VERSION') ? File.read('VERSION') : ""
|
46
|
-
|
47
|
-
rdoc.rdoc_dir = 'rdoc'
|
48
|
-
rdoc.title = "NDD URL Checker #{version}"
|
49
|
-
rdoc.rdoc_files.include('README*')
|
50
|
-
rdoc.rdoc_files.include('lib/**/*.rb')
|
51
|
-
end
|
data/VERSION
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
0.3.2
|
@@ -1,188 +0,0 @@
|
|
1
|
-
<!DOCTYPE html>
|
2
|
-
<html lang="en">
|
3
|
-
|
4
|
-
<head>
|
5
|
-
<meta charset="UTF-8" />
|
6
|
-
|
7
|
-
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.1/css/bootstrap.min.css" />
|
8
|
-
<style type="text/css">
|
9
|
-
.popover-title {
|
10
|
-
font-weight: bold;
|
11
|
-
}
|
12
|
-
|
13
|
-
.popover-content em {
|
14
|
-
font-style: normal;
|
15
|
-
font-weight: bold;
|
16
|
-
}
|
17
|
-
|
18
|
-
.popover-content ol {
|
19
|
-
margin-left: -20px;
|
20
|
-
}
|
21
|
-
</style>
|
22
|
-
|
23
|
-
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
|
24
|
-
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/js/bootstrap.min.js"></script>
|
25
|
-
<script language="JavaScript">
|
26
|
-
if (!window.ndd_url_checker) {
|
27
|
-
window.ndd_url_checker = {};
|
28
|
-
}
|
29
|
-
|
30
|
-
ndd_url_checker.STATES = ['direct', 'redirected', 'failed', 'too-many-redirects', 'unknown-host'];
|
31
|
-
|
32
|
-
ndd_url_checker.displayStates = function () {
|
33
|
-
var displayStates = {};
|
34
|
-
$.each(ndd_url_checker.STATES, function (_, state) {
|
35
|
-
var checked = $('.display-' + state).is(':checked');
|
36
|
-
displayStates[state] = checked;
|
37
|
-
});
|
38
|
-
return displayStates;
|
39
|
-
}
|
40
|
-
|
41
|
-
ndd_url_checker.filter = function () {
|
42
|
-
var displayStates = ndd_url_checker.displayStates();
|
43
|
-
|
44
|
-
$.each(displayStates, function (state, display) {
|
45
|
-
$('.result-' + state).toggle(display);
|
46
|
-
});
|
47
|
-
}
|
48
|
-
|
49
|
-
$(document).ready(function () {
|
50
|
-
// show or hide results depending on their state
|
51
|
-
$.each(ndd_url_checker.STATES, function (_, state) {
|
52
|
-
$('.display-' + state).change(function () {
|
53
|
-
ndd_url_checker.filter();
|
54
|
-
});
|
55
|
-
});
|
56
|
-
|
57
|
-
// activate all tooltips
|
58
|
-
$('[data-toggle="popover"]')
|
59
|
-
.popover()
|
60
|
-
.click(function (e) {
|
61
|
-
e.preventDefault();
|
62
|
-
});
|
63
|
-
});
|
64
|
-
</script>
|
65
|
-
</head>
|
66
|
-
|
67
|
-
|
68
|
-
<body>
|
69
|
-
|
70
|
-
<div class="container">
|
71
|
-
|
72
|
-
<div class="page-header">
|
73
|
-
<h1>
|
74
|
-
<span class="glyphicon glyphicon-list-alt" aria-hidden="true"></span>
|
75
|
-
URL Checker Report
|
76
|
-
</h1>
|
77
|
-
</div>
|
78
|
-
|
79
|
-
|
80
|
-
<div class="row">
|
81
|
-
<div class="col-md-4">
|
82
|
-
<dl class="page-info dl-horizontal">
|
83
|
-
<dt>Number of URLs</dt>
|
84
|
-
<dd><%= urls.count %></dd>
|
85
|
-
<dt>Duration</dt>
|
86
|
-
<dd><%= benchmark.total_duration.round(3) %> s</dd>
|
87
|
-
<dt>Average duration</dt>
|
88
|
-
<dd><%= benchmark.average_duration.round(3) %> s/URL</dd>
|
89
|
-
<dt>Average throughput</dt>
|
90
|
-
<dd><%= benchmark.average_throughput.round(3) %> URL/s</dd>
|
91
|
-
</dl>
|
92
|
-
</div>
|
93
|
-
<div class="col-md-4">
|
94
|
-
<dl class="page-info dl-horizontal">
|
95
|
-
<dt>Valid URLS</dt>
|
96
|
-
<dd><%= urls.valid_count %></dd>
|
97
|
-
<dt>direct</dt>
|
98
|
-
<dd><%= urls.direct_count %></dd>
|
99
|
-
<dt>redirected</dt>
|
100
|
-
<dd><%= urls.redirected_count %></dd>
|
101
|
-
</dl>
|
102
|
-
</div>
|
103
|
-
<div class="col-md-4">
|
104
|
-
<dl class="page-info dl-horizontal">
|
105
|
-
<dt>Invalid URLS</dt>
|
106
|
-
<dd><%= urls.invalid_count %></dd>
|
107
|
-
<dt>failed</dt>
|
108
|
-
<dd><%= urls.failed_count %></dd>
|
109
|
-
<dt>too many redirects</dt>
|
110
|
-
<dd><%= urls.too_many_redirects_count %></dd>
|
111
|
-
<dt>unknown host</dt>
|
112
|
-
<dd><%= urls.unknown_host_count %></dd>
|
113
|
-
</dl>
|
114
|
-
</div>
|
115
|
-
</div>
|
116
|
-
<hr />
|
117
|
-
|
118
|
-
|
119
|
-
<div class="row page-controls hidden-print">
|
120
|
-
<div class="col-md-6">
|
121
|
-
<span>Valid URLs:</span>
|
122
|
-
|
123
|
-
<div class="btn-group page-display" data-toggle="buttons">
|
124
|
-
<label class="btn btn-default active">
|
125
|
-
<input type="checkbox" autocomplete="off" class="display-direct" checked="true" />
|
126
|
-
Direct (<%= urls.direct_count %>)
|
127
|
-
</label>
|
128
|
-
<label class="btn btn-default active">
|
129
|
-
<input type="checkbox" autocomplete="off" class="display-redirected" checked="true" />
|
130
|
-
Redirected (<%= urls.redirected_count %>)
|
131
|
-
</label>
|
132
|
-
</div>
|
133
|
-
</div>
|
134
|
-
<div class="col-md-6">
|
135
|
-
<span>Invalid URLs:</span>
|
136
|
-
|
137
|
-
<div class="btn-group page-display" data-toggle="buttons">
|
138
|
-
<label class="btn btn-default active">
|
139
|
-
<input type="checkbox" autocomplete="off" class="display-failed" checked="true" />
|
140
|
-
Failed (<%= urls.failed_count %>)
|
141
|
-
</label>
|
142
|
-
<label class="btn btn-default active">
|
143
|
-
<input type="checkbox" autocomplete="off" class="display-too-many-redirects" checked="true" />
|
144
|
-
Too many redirects (<%= urls.too_many_redirects_count %>)
|
145
|
-
</label>
|
146
|
-
<label class="btn btn-default active">
|
147
|
-
<input type="checkbox" autocomplete="off" class="display-unknown-host" checked="true" />
|
148
|
-
Unknown host (<%= urls.unknown_host_count %>)
|
149
|
-
</label>
|
150
|
-
</div>
|
151
|
-
</div>
|
152
|
-
</div>
|
153
|
-
<hr />
|
154
|
-
|
155
|
-
|
156
|
-
<table id="results" class="table table-condensed table-hover">
|
157
|
-
<thead>
|
158
|
-
<tr>
|
159
|
-
<th>#</th>
|
160
|
-
<th>URL</th>
|
161
|
-
<th>Code</th>
|
162
|
-
<th>Details</th>
|
163
|
-
</tr>
|
164
|
-
</thead>
|
165
|
-
<tbody>
|
166
|
-
<% statuses.each_with_index do |status, index| %>
|
167
|
-
<tr class="result result-<%= status.code_as_css %> <%= status.invalid? ? 'danger' : '' %>">
|
168
|
-
<td><%= index+1 %></td>
|
169
|
-
<td><a href="<%= status.uri %>" target="_blank"><%= status.uri %></a></td>
|
170
|
-
<td><%= status.code %></td>
|
171
|
-
<td><%= status.details_title %></td>
|
172
|
-
<td>
|
173
|
-
<% if status.details_body %>
|
174
|
-
<a href="#" data-toggle="popover" data-placement="left" data-trigger="focus"
|
175
|
-
data-html="true" title="<%= status.uri %>" data-content="<%= status.details_body_as_html %>">
|
176
|
-
<span class="glyphicon glyphicon-info-sign" aria-hidden="true"></span>
|
177
|
-
</a>
|
178
|
-
<% end %>
|
179
|
-
</td>
|
180
|
-
</tr>
|
181
|
-
<% end %>
|
182
|
-
</tbody>
|
183
|
-
</table>
|
184
|
-
|
185
|
-
</div>
|
186
|
-
|
187
|
-
</body>
|
188
|
-
</html>
|