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.
Files changed (44) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +8 -0
  3. data/LICENSE.txt +18 -17
  4. data/README.md +14 -7
  5. data/lib/ndd/url_checker.rb +6 -0
  6. data/lib/ndd/url_checker/reporting_url_checker.rb +4 -0
  7. data/lib/ndd/url_checker/status.rb +1 -0
  8. data/lib/ndd/url_checker/status_decorator.rb +11 -0
  9. data/lib/ndd/url_checker/version.rb +5 -0
  10. metadata +9 -249
  11. data/.document +0 -5
  12. data/.rspec +0 -1
  13. data/.ruby-gemset +0 -1
  14. data/.ruby-version +0 -1
  15. data/.travis.yml +0 -16
  16. data/Gemfile +0 -50
  17. data/Gemfile.lock +0 -162
  18. data/Guardfile +0 -38
  19. data/Rakefile +0 -51
  20. data/VERSION +0 -1
  21. data/lib/ndd/url_checker/reporting_url_checker.csv.erb +0 -4
  22. data/lib/ndd/url_checker/reporting_url_checker.html.erb +0 -188
  23. data/lib/ndd/url_checker/reporting_url_checker.json.erb +0 -27
  24. data/ndd-url_checker.gemspec +0 -134
  25. data/spec/ndd/url_checker/abstract_url_checker_spec.rb +0 -11
  26. data/spec/ndd/url_checker/blocking_url_checker_spec.rb +0 -12
  27. data/spec/ndd/url_checker/forked_url_checker_spec.rb +0 -12
  28. data/spec/ndd/url_checker/parallel_url_checker_spec.rb +0 -62
  29. data/spec/ndd/url_checker/reporting_url_checker/custom.txt.erb +0 -8
  30. data/spec/ndd/url_checker/reporting_url_checker/multiple_urls.csv +0 -6
  31. data/spec/ndd/url_checker/reporting_url_checker/multiple_urls.html +0 -246
  32. data/spec/ndd/url_checker/reporting_url_checker/multiple_urls.json +0 -49
  33. data/spec/ndd/url_checker/reporting_url_checker/multiple_urls.txt +0 -26
  34. data/spec/ndd/url_checker/reporting_url_checker/single_url.csv +0 -2
  35. data/spec/ndd/url_checker/reporting_url_checker/single_url.html +0 -182
  36. data/spec/ndd/url_checker/reporting_url_checker/single_url.json +0 -25
  37. data/spec/ndd/url_checker/reporting_url_checker/single_url.txt +0 -6
  38. data/spec/ndd/url_checker/reporting_url_checker_spec.rb +0 -131
  39. data/spec/ndd/url_checker/status_decorator_spec.rb +0 -208
  40. data/spec/ndd/url_checker/status_spec.rb +0 -510
  41. data/spec/ndd/url_checker/threaded_url_checker_spec.rb +0 -13
  42. data/spec/spec_helper.rb +0 -81
  43. data/spec/support/multiple_url_checker_spec.rb +0 -58
  44. data/spec/support/single_url_checker_spec.rb +0 -252
data/.document DELETED
@@ -1,5 +0,0 @@
1
- lib/**/*.rb
2
- bin/*
3
- -
4
- features/**/*.feature
5
- LICENSE.txt
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,4 +0,0 @@
1
- Index,URL,Result,Code,Details
2
- <% statuses.each_with_index do |status, index| %>
3
- <%= index+1 %>,<%= status.uri %>,<%= status.valid? ? 'valid' : 'invalid' %>,<%= status.code %>,<% if status.invalid? %><%= status.error %><% end %>
4
- <% end %>
@@ -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>