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.
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>