metainspector 5.18.0 → 5.19.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 +4 -4
- data/.circleci/config.yml +15 -0
- data/.github/dependabot.yml +1 -1
- data/.gitignore +1 -1
- data/CHANGELOG.md +15 -0
- data/README.md +56 -1
- data/lib/meta_inspector/document.rb +17 -3
- data/lib/meta_inspector/parser.rb +3 -2
- data/lib/meta_inspector/parsers/images.rb +17 -13
- data/lib/meta_inspector/parsers/links.rb +2 -1
- data/lib/meta_inspector/parsers/texts.rb +13 -4
- data/lib/meta_inspector/request.rb +34 -11
- data/lib/meta_inspector/version.rb +1 -1
- data/meta_inspector.gemspec +5 -6
- data/spec/document_spec.rb +20 -0
- data/spec/meta_inspector/head_first_spec.rb +195 -0
- data/spec/meta_inspector/images_spec.rb +233 -0
- data/spec/meta_inspector/links_spec.rb +22 -0
- data/spec/meta_inspector/redirections_spec.rb +20 -6
- data/spec/meta_inspector/texts_spec.rb +115 -0
- data/spec/request_spec.rb +29 -0
- metadata +16 -23
data/spec/request_spec.rb
CHANGED
|
@@ -68,6 +68,35 @@ describe MetaInspector::Request do
|
|
|
68
68
|
end
|
|
69
69
|
end
|
|
70
70
|
|
|
71
|
+
describe "options it is given" do
|
|
72
|
+
it "accepts a frozen faraday_options hash" do
|
|
73
|
+
expect do
|
|
74
|
+
MetaInspector::Request.new(url('http://example.com'), faraday_options: { ssl: { verify: true } }.freeze)
|
|
75
|
+
end.not_to raise_error
|
|
76
|
+
end
|
|
77
|
+
|
|
78
|
+
it "leaves the faraday_options hash unchanged" do
|
|
79
|
+
callback = proc {}
|
|
80
|
+
faraday_options = { redirect: { callback: callback } }
|
|
81
|
+
|
|
82
|
+
MetaInspector::Request.new(url('http://example.com'), allow_redirections: true,
|
|
83
|
+
faraday_options: faraday_options)
|
|
84
|
+
|
|
85
|
+
expect(faraday_options).to eq({ redirect: { callback: callback } })
|
|
86
|
+
end
|
|
87
|
+
|
|
88
|
+
it "leaves the faraday_http_cache hash unchanged" do
|
|
89
|
+
cache = Hash.new
|
|
90
|
+
def cache.read(k) self[k]; end
|
|
91
|
+
def cache.write(k, v) self[k] = v; end
|
|
92
|
+
cache_options = { store: cache }
|
|
93
|
+
|
|
94
|
+
MetaInspector::Request.new(url('http://example.com'), faraday_http_cache: cache_options)
|
|
95
|
+
|
|
96
|
+
expect(cache_options).to eq({ store: cache })
|
|
97
|
+
end
|
|
98
|
+
end
|
|
99
|
+
|
|
71
100
|
describe 'exception handling' do
|
|
72
101
|
before(:each) do
|
|
73
102
|
WebMock.allow_net_connect!
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: metainspector
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 5.
|
|
4
|
+
version: 5.19.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Jaime Iniesta
|
|
@@ -15,14 +15,14 @@ dependencies:
|
|
|
15
15
|
requirements:
|
|
16
16
|
- - "~>"
|
|
17
17
|
- !ruby/object:Gem::Version
|
|
18
|
-
version: 1.19.
|
|
18
|
+
version: 1.19.5
|
|
19
19
|
type: :runtime
|
|
20
20
|
prerelease: false
|
|
21
21
|
version_requirements: !ruby/object:Gem::Requirement
|
|
22
22
|
requirements:
|
|
23
23
|
- - "~>"
|
|
24
24
|
- !ruby/object:Gem::Version
|
|
25
|
-
version: 1.19.
|
|
25
|
+
version: 1.19.5
|
|
26
26
|
- !ruby/object:Gem::Dependency
|
|
27
27
|
name: faraday
|
|
28
28
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -209,20 +209,6 @@ dependencies:
|
|
|
209
209
|
- - "~>"
|
|
210
210
|
- !ruby/object:Gem::Version
|
|
211
211
|
version: '3.17'
|
|
212
|
-
- !ruby/object:Gem::Dependency
|
|
213
|
-
name: awesome_print
|
|
214
|
-
requirement: !ruby/object:Gem::Requirement
|
|
215
|
-
requirements:
|
|
216
|
-
- - "~>"
|
|
217
|
-
- !ruby/object:Gem::Version
|
|
218
|
-
version: '1.9'
|
|
219
|
-
type: :development
|
|
220
|
-
prerelease: false
|
|
221
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
222
|
-
requirements:
|
|
223
|
-
- - "~>"
|
|
224
|
-
- !ruby/object:Gem::Version
|
|
225
|
-
version: '1.9'
|
|
226
212
|
- !ruby/object:Gem::Dependency
|
|
227
213
|
name: rake
|
|
228
214
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -257,14 +243,20 @@ dependencies:
|
|
|
257
243
|
requirements:
|
|
258
244
|
- - "~>"
|
|
259
245
|
- !ruby/object:Gem::Version
|
|
260
|
-
version: 8.0
|
|
246
|
+
version: '8.0'
|
|
247
|
+
- - ">="
|
|
248
|
+
- !ruby/object:Gem::Version
|
|
249
|
+
version: 8.0.2
|
|
261
250
|
type: :development
|
|
262
251
|
prerelease: false
|
|
263
252
|
version_requirements: !ruby/object:Gem::Requirement
|
|
264
253
|
requirements:
|
|
265
254
|
- - "~>"
|
|
266
255
|
- !ruby/object:Gem::Version
|
|
267
|
-
version: 8.0
|
|
256
|
+
version: '8.0'
|
|
257
|
+
- - ">="
|
|
258
|
+
- !ruby/object:Gem::Version
|
|
259
|
+
version: 8.0.2
|
|
268
260
|
- !ruby/object:Gem::Dependency
|
|
269
261
|
name: rubocop
|
|
270
262
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -285,28 +277,28 @@ dependencies:
|
|
|
285
277
|
requirements:
|
|
286
278
|
- - "~>"
|
|
287
279
|
- !ruby/object:Gem::Version
|
|
288
|
-
version: 0.8
|
|
280
|
+
version: '0.8'
|
|
289
281
|
type: :development
|
|
290
282
|
prerelease: false
|
|
291
283
|
version_requirements: !ruby/object:Gem::Requirement
|
|
292
284
|
requirements:
|
|
293
285
|
- - "~>"
|
|
294
286
|
- !ruby/object:Gem::Version
|
|
295
|
-
version: 0.8
|
|
287
|
+
version: '0.8'
|
|
296
288
|
- !ruby/object:Gem::Dependency
|
|
297
289
|
name: sinatra
|
|
298
290
|
requirement: !ruby/object:Gem::Requirement
|
|
299
291
|
requirements:
|
|
300
292
|
- - "~>"
|
|
301
293
|
- !ruby/object:Gem::Version
|
|
302
|
-
version: 4.2
|
|
294
|
+
version: '4.2'
|
|
303
295
|
type: :development
|
|
304
296
|
prerelease: false
|
|
305
297
|
version_requirements: !ruby/object:Gem::Requirement
|
|
306
298
|
requirements:
|
|
307
299
|
- - "~>"
|
|
308
300
|
- !ruby/object:Gem::Version
|
|
309
|
-
version: 4.2
|
|
301
|
+
version: '4.2'
|
|
310
302
|
description: MetaInspector lets you scrape a web page and get its links, images, texts,
|
|
311
303
|
meta tags...
|
|
312
304
|
email: jaimeiniesta@gmail.com
|
|
@@ -414,6 +406,7 @@ files:
|
|
|
414
406
|
- spec/fixtures/wordpress_site.response
|
|
415
407
|
- spec/fixtures/youtube.response
|
|
416
408
|
- spec/fixtures/youtube_short_title.response
|
|
409
|
+
- spec/meta_inspector/head_first_spec.rb
|
|
417
410
|
- spec/meta_inspector/head_links_spec.rb
|
|
418
411
|
- spec/meta_inspector/images_spec.rb
|
|
419
412
|
- spec/meta_inspector/links_spec.rb
|