ndd-url_checker 0.3.2 → 0.3.3
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 +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>
|