httpspell 1.2.1 → 1.3.0

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: dcf823c527b930c3048fd15e17d0106af6aee7c9375b685d884c8690e285b484
4
- data.tar.gz: 123fcd42841af054627d69dfa3d4a655e0c97bb5eeeec96fd4b2aa46be9eedd3
3
+ metadata.gz: ec39e7efff90e1b266f19714e6b6ce91a1a714e149be0df491e0e04cf5bef564
4
+ data.tar.gz: 58be9917fc0e13ad4653e6687b19b018d30be56b0c0c9d62da8e39ef169264e6
5
5
  SHA512:
6
- metadata.gz: a03721c821750a533eacb9f2e53148d2afb0489a18ee278ad3b9973424ea043973c5989f3a052764fb3611177bb3561ddfc287bca80f9351abcd63ea9f0638cb
7
- data.tar.gz: 9ee1bef8ed9d0b1bdd2e0a2aeb74a28f764cd21c422430802a11cf055d119aca683b64fb26ab4b3ac92f7ead13f920bff7b368fc6c4e081bdfc1bb9acd8d51bf
6
+ metadata.gz: 045cc45fc3bd73e5cb4694fec14dec5afad13ab8402cdc90173b621f21a8a11c0b02a375404e0dc332c7e6ec29a571ce3e6d5b152283ad6bb9323161f583579d
7
+ data.tar.gz: de4f50971f4d12a29c829b47a14f54d84c005c9ff7d421fcfcd672fdf065eb7db5ad4c27a83933e4d9de4bf4417d3cfbdf881a312416a0c6b0a95018637592f7
@@ -1,51 +1,51 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- httpspell (1.2.1)
4
+ httpspell (1.3.0)
5
5
  addressable
6
6
  nokogiri
7
7
 
8
8
  GEM
9
9
  remote: https://rubygems.org/
10
10
  specs:
11
- addressable (2.5.2)
11
+ addressable (2.6.0)
12
12
  public_suffix (>= 2.0.2, < 4.0)
13
- aruba (0.14.5)
14
- childprocess (>= 0.6.3, < 0.10.0)
13
+ aruba (0.14.9)
14
+ childprocess (>= 0.6.3, < 1.1.0)
15
15
  contracts (~> 0.9)
16
16
  cucumber (>= 1.3.19)
17
- ffi (~> 1.9.10)
17
+ ffi (~> 1.9)
18
18
  rspec-expectations (>= 2.99)
19
19
  thor (~> 0.19)
20
20
  ast (2.4.0)
21
- backports (3.11.3)
21
+ backports (3.13.0)
22
22
  builder (3.2.3)
23
- byebug (10.0.2)
24
- childprocess (0.9.0)
25
- ffi (~> 1.0, >= 1.0.11)
23
+ byebug (11.0.1)
24
+ childprocess (1.0.1)
25
+ rake (< 13.0)
26
26
  coderay (1.1.2)
27
27
  contracts (0.16.0)
28
- cucumber (3.1.0)
28
+ cucumber (3.1.2)
29
29
  builder (>= 2.1.2)
30
- cucumber-core (~> 3.1.0)
31
- cucumber-expressions (~> 5.0.4)
30
+ cucumber-core (~> 3.2.0)
31
+ cucumber-expressions (~> 6.0.1)
32
32
  cucumber-wire (~> 0.0.1)
33
33
  diff-lcs (~> 1.3)
34
- gherkin (~> 5.0)
34
+ gherkin (~> 5.1.0)
35
35
  multi_json (>= 1.7.5, < 2.0)
36
36
  multi_test (>= 0.1.2)
37
- cucumber-core (3.1.0)
37
+ cucumber-core (3.2.1)
38
38
  backports (>= 3.8.0)
39
39
  cucumber-tag_expressions (~> 1.1.0)
40
- gherkin (>= 5.0.0)
41
- cucumber-expressions (5.0.18)
40
+ gherkin (~> 5.0)
41
+ cucumber-expressions (6.0.1)
42
42
  cucumber-tag_expressions (1.1.1)
43
43
  cucumber-wire (0.0.1)
44
44
  diff-lcs (1.3)
45
- ffi (1.9.23)
45
+ ffi (1.10.0)
46
46
  formatador (0.2.5)
47
47
  gherkin (5.1.0)
48
- guard (2.14.2)
48
+ guard (2.15.0)
49
49
  formatador (>= 0.2.4)
50
50
  listen (>= 2.7, < 4.0)
51
51
  lumberjack (>= 1.0.12, < 2.0)
@@ -54,8 +54,8 @@ GEM
54
54
  pry (>= 0.9.12)
55
55
  shellany (~> 0.0)
56
56
  thor (>= 0.18.1)
57
- guard-bundler (2.1.0)
58
- bundler (~> 1.0)
57
+ guard-bundler (2.2.1)
58
+ bundler (>= 1.3.0, < 3)
59
59
  guard (~> 2.2)
60
60
  guard-compat (~> 1.1)
61
61
  guard-compat (1.2.1)
@@ -63,65 +63,67 @@ GEM
63
63
  guard (~> 2.1)
64
64
  guard-compat (~> 1.1)
65
65
  rspec (>= 2.99.0, < 4.0)
66
+ jaro_winkler (1.5.2)
66
67
  listen (3.1.5)
67
68
  rb-fsevent (~> 0.9, >= 0.9.4)
68
69
  rb-inotify (~> 0.9, >= 0.9.7)
69
70
  ruby_dep (~> 1.2)
70
71
  lumberjack (1.0.13)
71
- method_source (0.9.0)
72
- mini_portile2 (2.3.0)
72
+ method_source (0.9.2)
73
+ mini_portile2 (2.4.0)
73
74
  multi_json (1.13.1)
74
75
  multi_test (0.1.2)
75
76
  nenv (0.3.0)
76
- nokogiri (1.8.2)
77
- mini_portile2 (~> 2.3.0)
77
+ nokogiri (1.10.2)
78
+ mini_portile2 (~> 2.4.0)
78
79
  notiffany (0.1.1)
79
80
  nenv (~> 0.1)
80
81
  shellany (~> 0.0)
81
- parallel (1.12.1)
82
- parser (2.5.1.0)
82
+ parallel (1.17.0)
83
+ parser (2.6.2.1)
83
84
  ast (~> 2.4.0)
84
- powerpack (0.1.1)
85
- pry (0.11.3)
85
+ pry (0.12.2)
86
86
  coderay (~> 1.1.0)
87
87
  method_source (~> 0.9.0)
88
- pry-byebug (3.6.0)
89
- byebug (~> 10.0)
88
+ pry-byebug (3.7.0)
89
+ byebug (~> 11.0)
90
90
  pry (~> 0.10)
91
- public_suffix (3.0.2)
92
- rack (2.0.5)
91
+ psych (3.1.0)
92
+ public_suffix (3.0.3)
93
+ rack (2.0.7)
93
94
  rainbow (3.0.0)
94
- rake (12.3.1)
95
+ rake (12.3.2)
95
96
  rb-fsevent (0.10.3)
96
- rb-inotify (0.9.10)
97
- ffi (>= 0.5.0, < 2)
98
- rspec (3.7.0)
99
- rspec-core (~> 3.7.0)
100
- rspec-expectations (~> 3.7.0)
101
- rspec-mocks (~> 3.7.0)
102
- rspec-core (3.7.1)
103
- rspec-support (~> 3.7.0)
104
- rspec-expectations (3.7.0)
97
+ rb-inotify (0.10.0)
98
+ ffi (~> 1.0)
99
+ rspec (3.8.0)
100
+ rspec-core (~> 3.8.0)
101
+ rspec-expectations (~> 3.8.0)
102
+ rspec-mocks (~> 3.8.0)
103
+ rspec-core (3.8.0)
104
+ rspec-support (~> 3.8.0)
105
+ rspec-expectations (3.8.2)
105
106
  diff-lcs (>= 1.2.0, < 2.0)
106
- rspec-support (~> 3.7.0)
107
- rspec-mocks (3.7.0)
107
+ rspec-support (~> 3.8.0)
108
+ rspec-mocks (3.8.0)
108
109
  diff-lcs (>= 1.2.0, < 2.0)
109
- rspec-support (~> 3.7.0)
110
- rspec-support (3.7.1)
111
- rubocop (0.56.0)
110
+ rspec-support (~> 3.8.0)
111
+ rspec-support (3.8.0)
112
+ rubocop (0.67.2)
113
+ jaro_winkler (~> 1.5.1)
112
114
  parallel (~> 1.10)
113
- parser (>= 2.5)
114
- powerpack (~> 0.1)
115
+ parser (>= 2.5, != 2.5.1.1)
116
+ psych (>= 3.1.0)
115
117
  rainbow (>= 2.2.2, < 4.0)
116
118
  ruby-progressbar (~> 1.7)
117
- unicode-display_width (~> 1.0, >= 1.0.1)
118
- ruby-progressbar (1.9.0)
119
+ unicode-display_width (>= 1.4.0, < 1.6)
120
+ ruby-progressbar (1.10.0)
119
121
  ruby_dep (1.5.0)
120
122
  shellany (0.0.1)
121
- stub_server (0.3.0)
123
+ stub_server (0.4.0)
122
124
  rack
123
- thor (0.20.0)
124
- unicode-display_width (1.3.3)
125
+ thor (0.20.3)
126
+ unicode-display_width (1.5.0)
125
127
 
126
128
  PLATFORMS
127
129
  ruby
@@ -141,4 +143,4 @@ DEPENDENCIES
141
143
  stub_server
142
144
 
143
145
  BUNDLED WITH
144
- 1.16.1
146
+ 1.17.2
@@ -0,0 +1,6 @@
1
+ * Bail out if lang cannot be inferred and is not given on cmdline
2
+ * exe/httpspell: # TODO: --recursive, defaults to false
3
+ * exe/httpspell: # TODO wget has some additional options for recursive behavior that should be reviewed
4
+ * exe/httpspell: # TODO: Find sections with a lang attribute and handle them separately
5
+ * lib/httpspell/spider.rb: # TODO Print _which_ entry of the blacklist matches
6
+ * lib/httpspell/spider.rb: # TODO Ignore same page links (some anchor)
@@ -46,7 +46,7 @@ module HttpSpell
46
46
  private
47
47
 
48
48
  def links(uri)
49
- response = URI(uri).read # We are using open-uri, which follows redirects and also provides the content-type.
49
+ response = http_get(URI(uri))
50
50
 
51
51
  if response.content_type != 'text/html'
52
52
  warn "Skipping #{uri} because it is not HTML" if @tracing
@@ -82,5 +82,18 @@ module HttpSpell
82
82
  warn "Adding #{links.size} links from #{uri}" if @tracing
83
83
  links
84
84
  end
85
+
86
+ # https://twin.github.io/improving-open-uri/
87
+ def http_get(uri)
88
+ tries = 10
89
+
90
+ begin
91
+ uri.open(redirect: false)
92
+ rescue OpenURI::HTTPRedirect => redirect
93
+ uri = redirect.uri
94
+ retry if (tries -= 1) > 0
95
+ raise
96
+ end
97
+ end
85
98
  end
86
99
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module HttpSpell
4
- VERSION = '1.2.1'
4
+ VERSION = '1.3.0'
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: httpspell
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.1
4
+ version: 1.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Steffen Uhlig
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2018-06-01 00:00:00.000000000 Z
11
+ date: 2019-04-12 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: addressable
@@ -211,6 +211,7 @@ files:
211
211
  - Gemfile.lock
212
212
  - README.markdown
213
213
  - Rakefile
214
+ - TODO.markdown
214
215
  - exe/httpspell
215
216
  - httpspell.gemspec
216
217
  - lib/httpspell/spellchecker.rb
@@ -235,8 +236,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
235
236
  - !ruby/object:Gem::Version
236
237
  version: '0'
237
238
  requirements: []
238
- rubyforge_project:
239
- rubygems_version: 2.7.6
239
+ rubygems_version: 3.0.1
240
240
  signing_key:
241
241
  specification_version: 4
242
242
  summary: HTTP spellchecker