metainspector 5.11.1 → 5.11.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 210e3ca023facc1a803bd66ab164c0c3f2669a1e64483807ec3ea500d2f907e9
4
- data.tar.gz: 551f617c3a548856d4bcf3ea9ebff284ba61604b0c75e2a94db6e4606d570477
3
+ metadata.gz: 8508f38adaf43e789f0ec8f966384749fc9e372dc98f0a4ee4f20f5b1abbbd71
4
+ data.tar.gz: a97d211784760153c28826b7f4a5c7f3f57d55746aa53680553a50bbeb388c07
5
5
  SHA512:
6
- metadata.gz: ad519a6c1b3e41dd95d37a44e5006970ce0281b917843d9845a4105219a2bf08d91d1ebe2462f3cee44c0fab819218adf441e954d35acbb58c255992d14513c9
7
- data.tar.gz: 2ea5ffacad5a1e62145d604706407b7b7fa3a695ec839db21c92eaa7608c7e81544c728a385211c53d59712fe129feaf958693d341f1fc3e12449572a098b1eb
6
+ metadata.gz: ed7c4c4103648c7debedc89cdf8c34dcbfaff369308133ea04895971cf948aa55086767c224bf1b0f8ded7aa7139ad363898c166585089be0f180e7ae132a78c
7
+ data.tar.gz: e5ec04d99b161701187b1296a78e7d940d8b4c725cbf3e58c59a9c2e5d10d993a3ed95d24b09b180b10043314cce7ae07541102899660027a104a3672b80dab7
@@ -0,0 +1 @@
1
+ github: jaimeiniesta
data/.gitignore CHANGED
@@ -9,3 +9,4 @@ pkg/*
9
9
  .idea/
10
10
  .rubocop_todo.yml
11
11
  .rubocop.yml
12
+ .tool-versions
data/CHANGELOG.md CHANGED
@@ -1,5 +1,13 @@
1
1
  # MetaInpector Changelog
2
2
 
3
+ ## [Changes in 5.11.2](https://github.com/jaimeiniesta/metainspector/compare/v5.11.1...v5.11.2)
4
+
5
+ * Relax dependencies to allow minor releases.
6
+
7
+ ## [Changes in 5.11.0](https://github.com/jaimeiniesta/metainspector/compare/v5.11.0...v5.11.1)
8
+
9
+ * Upgrade to Nokogiri 1.11.0.
10
+
3
11
  ## [Changes in 5.11.0](https://github.com/jaimeiniesta/metainspector/compare/v5.10.1...v5.11.0)
4
12
 
5
13
  * Upgrade to Faraday 1.1.
@@ -47,7 +47,7 @@ module MetaInspector
47
47
  # This can be the one set on a <base> tag,
48
48
  # or the url of the document if no <base> tag was found.
49
49
  def base_url
50
- current_base_href = base_href.to_s.strip.empty? ? nil : base_href
50
+ current_base_href = base_href.to_s.strip.empty? ? nil : URL.absolutify(base_href, URL.new(url).root_url)
51
51
  current_base_href || url
52
52
  end
53
53
 
@@ -1,3 +1,3 @@
1
1
  module MetaInspector
2
- VERSION = '5.11.1'
2
+ VERSION = '5.11.2'
3
3
  end
@@ -14,20 +14,20 @@ Gem::Specification.new do |gem|
14
14
  gem.require_paths = ["lib"]
15
15
  gem.version = MetaInspector::VERSION
16
16
 
17
- gem.add_dependency 'nokogiri', '~> 1.11.0'
18
- gem.add_dependency 'faraday', '~> 1.1.0'
19
- gem.add_dependency 'faraday_middleware', '~> 1.0.0'
20
- gem.add_dependency 'faraday-cookie_jar', '~> 0.0.7'
21
- gem.add_dependency 'faraday-http-cache', '~> 2.2.0'
22
- gem.add_dependency 'faraday-encoding', '~> 0.0.5'
23
- gem.add_dependency 'addressable', '~> 2.7.0'
24
- gem.add_dependency 'fastimage', '~> 2.1.7'
25
- gem.add_dependency 'nesty', '~> 1.0.2'
17
+ gem.add_dependency 'nokogiri', '~> 1.11'
18
+ gem.add_dependency 'faraday', '~> 1.4'
19
+ gem.add_dependency 'faraday_middleware', '~> 1.0'
20
+ gem.add_dependency 'faraday-cookie_jar', '~> 0.0'
21
+ gem.add_dependency 'faraday-http-cache', '~> 2.2'
22
+ gem.add_dependency 'faraday-encoding', '~> 0.0'
23
+ gem.add_dependency 'addressable', '~> 2.7'
24
+ gem.add_dependency 'fastimage', '~> 2.2'
25
+ gem.add_dependency 'nesty', '~> 1.0'
26
26
 
27
- gem.add_development_dependency 'rspec', '~> 3.9.0'
28
- gem.add_development_dependency 'webmock', '~> 3.8.3'
29
- gem.add_development_dependency 'awesome_print', '~> 1.8.0'
30
- gem.add_development_dependency 'rake', '~> 13.0.1'
31
- gem.add_development_dependency 'pry', '~> 0.13.1'
32
- gem.add_development_dependency 'rubocop', '~> 0.82.0'
27
+ gem.add_development_dependency 'rspec', '~> 3.10'
28
+ gem.add_development_dependency 'webmock', '~> 3.13'
29
+ gem.add_development_dependency 'awesome_print', '~> 1.9'
30
+ gem.add_development_dependency 'rake', '~> 13.0'
31
+ gem.add_development_dependency 'pry', '~> 0.14'
32
+ gem.add_development_dependency 'rubocop', '~> 1.16'
33
33
  end
@@ -0,0 +1,22 @@
1
+ HTTP/1.1 200 OK
2
+ Server: nginx/1.0.5
3
+ Date: Thu, 29 Dec 2011 23:10:13 GMT
4
+ Content-Type: text/html
5
+ Content-Length: 15013
6
+ Last-Modified: Fri, 02 Dec 2011 21:00:49 GMT
7
+ Connection: keep-alive
8
+ Accept-Ranges: bytes
9
+
10
+ <!DOCTYPE html>
11
+ <html>
12
+ <head>
13
+ <base href="/other/" />
14
+ <meta charset="utf-8" />
15
+ <title>Relative links</title>
16
+ </head>
17
+ <body>
18
+ <p>Relative links</p>
19
+ <a href="about">About</a>
20
+ <a href="../sitemap">Sitemap</a>
21
+ </body>
22
+ </html>
@@ -0,0 +1,22 @@
1
+ HTTP/1.1 200 OK
2
+ Server: nginx/1.0.5
3
+ Date: Thu, 29 Dec 2011 23:10:13 GMT
4
+ Content-Type: text/html
5
+ Content-Length: 15013
6
+ Last-Modified: Fri, 02 Dec 2011 21:00:49 GMT
7
+ Connection: keep-alive
8
+ Accept-Ranges: bytes
9
+
10
+ <!DOCTYPE html>
11
+ <html>
12
+ <head>
13
+ <base href="/other" />
14
+ <meta charset="utf-8" />
15
+ <title>Relative links</title>
16
+ </head>
17
+ <body>
18
+ <p>Relative links</p>
19
+ <a href="about">About</a>
20
+ <a href="../sitemap">Sitemap</a>
21
+ </body>
22
+ </html>
@@ -0,0 +1,22 @@
1
+ HTTP/1.1 200 OK
2
+ Server: nginx/1.0.5
3
+ Date: Thu, 29 Dec 2011 23:10:13 GMT
4
+ Content-Type: text/html
5
+ Content-Length: 15013
6
+ Last-Modified: Fri, 02 Dec 2011 21:00:49 GMT
7
+ Connection: keep-alive
8
+ Accept-Ranges: bytes
9
+
10
+ <!DOCTYPE html>
11
+ <html>
12
+ <head>
13
+ <base href="/" />
14
+ <meta charset="utf-8" />
15
+ <title>Relative links</title>
16
+ </head>
17
+ <body>
18
+ <p>Relative links</p>
19
+ <a href="about">About</a>
20
+ <a href="../sitemap">Sitemap</a>
21
+ </body>
22
+ </html>
@@ -164,6 +164,26 @@ describe MetaInspector do
164
164
  end
165
165
  end
166
166
 
167
+ describe 'Relative links with relative base' do
168
+ it 'should get the relative links with relative directory base' do
169
+ m = MetaInspector.new('http://relativewithrelativebase.com/relativedir')
170
+ expect(m.links.all).to eq(['http://relativewithrelativebase.com/other/about',
171
+ 'http://relativewithrelativebase.com/sitemap'])
172
+ end
173
+
174
+ it 'should get the relative links with relative document base' do
175
+ m = MetaInspector.new('http://relativewithrelativebase.com/relativedoc')
176
+ expect(m.links.all).to eq(['http://relativewithrelativebase.com/about',
177
+ 'http://relativewithrelativebase.com/sitemap'])
178
+ end
179
+
180
+ it 'should get the relative links with relative root base' do
181
+ m = MetaInspector.new('http://relativewithrelativebase.com/')
182
+ expect(m.links.all).to eq(['http://relativewithrelativebase.com/about',
183
+ 'http://relativewithrelativebase.com/sitemap'])
184
+ end
185
+ end
186
+
167
187
  describe 'Non-HTTP links' do
168
188
  before(:each) do
169
189
  @m = MetaInspector.new('http://example.com/nonhttp')
data/spec/spec_helper.rb CHANGED
@@ -66,6 +66,9 @@ RSpec.configure do |config|
66
66
  stub_request(:get, "http://relativewithbase.com/company/page2").to_return(fixture_file("relative_links_with_base.response"))
67
67
  stub_request(:get, "http://relativewithbase.com/company/page2/").to_return(fixture_file("relative_links_with_base.response"))
68
68
  stub_request(:get, "http://relativewithemptybase.com/company").to_return(fixture_file("relative_links_with_empty_base.response"))
69
+ stub_request(:get, "http://relativewithrelativebase.com/relativedoc").to_return(fixture_file("relative_links_with_relative_doc_base.response"))
70
+ stub_request(:get, "http://relativewithrelativebase.com/relativedir").to_return(fixture_file("relative_links_with_relative_dir_base.response"))
71
+ stub_request(:get, "http://relativewithrelativebase.com/").to_return(fixture_file("relative_links_with_relative_root_base.response"))
69
72
  stub_request(:get, "http://theonion-no-description.com").to_return(fixture_file("theonion-no-description.com.response"))
70
73
  stub_request(:get, "http://www.24-horas.mx/mexico-firma-acuerdo-bilateral-automotriz-con-argentina/").to_return(fixture_file("relative_og_image.response"))
71
74
  stub_request(:get, "http://www.alazan.com").to_return(fixture_file("alazan.com.response"))
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: metainspector
3
3
  version: !ruby/object:Gem::Version
4
- version: 5.11.1
4
+ version: 5.11.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jaime Iniesta
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-01-05 00:00:00.000000000 Z
11
+ date: 2021-07-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: nokogiri
@@ -16,210 +16,210 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: 1.11.0
19
+ version: '1.11'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: 1.11.0
26
+ version: '1.11'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: faraday
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: 1.1.0
33
+ version: '1.4'
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: 1.1.0
40
+ version: '1.4'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: faraday_middleware
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
45
  - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: 1.0.0
47
+ version: '1.0'
48
48
  type: :runtime
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
52
  - - "~>"
53
53
  - !ruby/object:Gem::Version
54
- version: 1.0.0
54
+ version: '1.0'
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: faraday-cookie_jar
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
59
  - - "~>"
60
60
  - !ruby/object:Gem::Version
61
- version: 0.0.7
61
+ version: '0.0'
62
62
  type: :runtime
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
66
  - - "~>"
67
67
  - !ruby/object:Gem::Version
68
- version: 0.0.7
68
+ version: '0.0'
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: faraday-http-cache
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
73
  - - "~>"
74
74
  - !ruby/object:Gem::Version
75
- version: 2.2.0
75
+ version: '2.2'
76
76
  type: :runtime
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
80
  - - "~>"
81
81
  - !ruby/object:Gem::Version
82
- version: 2.2.0
82
+ version: '2.2'
83
83
  - !ruby/object:Gem::Dependency
84
84
  name: faraday-encoding
85
85
  requirement: !ruby/object:Gem::Requirement
86
86
  requirements:
87
87
  - - "~>"
88
88
  - !ruby/object:Gem::Version
89
- version: 0.0.5
89
+ version: '0.0'
90
90
  type: :runtime
91
91
  prerelease: false
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
94
94
  - - "~>"
95
95
  - !ruby/object:Gem::Version
96
- version: 0.0.5
96
+ version: '0.0'
97
97
  - !ruby/object:Gem::Dependency
98
98
  name: addressable
99
99
  requirement: !ruby/object:Gem::Requirement
100
100
  requirements:
101
101
  - - "~>"
102
102
  - !ruby/object:Gem::Version
103
- version: 2.7.0
103
+ version: '2.7'
104
104
  type: :runtime
105
105
  prerelease: false
106
106
  version_requirements: !ruby/object:Gem::Requirement
107
107
  requirements:
108
108
  - - "~>"
109
109
  - !ruby/object:Gem::Version
110
- version: 2.7.0
110
+ version: '2.7'
111
111
  - !ruby/object:Gem::Dependency
112
112
  name: fastimage
113
113
  requirement: !ruby/object:Gem::Requirement
114
114
  requirements:
115
115
  - - "~>"
116
116
  - !ruby/object:Gem::Version
117
- version: 2.1.7
117
+ version: '2.2'
118
118
  type: :runtime
119
119
  prerelease: false
120
120
  version_requirements: !ruby/object:Gem::Requirement
121
121
  requirements:
122
122
  - - "~>"
123
123
  - !ruby/object:Gem::Version
124
- version: 2.1.7
124
+ version: '2.2'
125
125
  - !ruby/object:Gem::Dependency
126
126
  name: nesty
127
127
  requirement: !ruby/object:Gem::Requirement
128
128
  requirements:
129
129
  - - "~>"
130
130
  - !ruby/object:Gem::Version
131
- version: 1.0.2
131
+ version: '1.0'
132
132
  type: :runtime
133
133
  prerelease: false
134
134
  version_requirements: !ruby/object:Gem::Requirement
135
135
  requirements:
136
136
  - - "~>"
137
137
  - !ruby/object:Gem::Version
138
- version: 1.0.2
138
+ version: '1.0'
139
139
  - !ruby/object:Gem::Dependency
140
140
  name: rspec
141
141
  requirement: !ruby/object:Gem::Requirement
142
142
  requirements:
143
143
  - - "~>"
144
144
  - !ruby/object:Gem::Version
145
- version: 3.9.0
145
+ version: '3.10'
146
146
  type: :development
147
147
  prerelease: false
148
148
  version_requirements: !ruby/object:Gem::Requirement
149
149
  requirements:
150
150
  - - "~>"
151
151
  - !ruby/object:Gem::Version
152
- version: 3.9.0
152
+ version: '3.10'
153
153
  - !ruby/object:Gem::Dependency
154
154
  name: webmock
155
155
  requirement: !ruby/object:Gem::Requirement
156
156
  requirements:
157
157
  - - "~>"
158
158
  - !ruby/object:Gem::Version
159
- version: 3.8.3
159
+ version: '3.13'
160
160
  type: :development
161
161
  prerelease: false
162
162
  version_requirements: !ruby/object:Gem::Requirement
163
163
  requirements:
164
164
  - - "~>"
165
165
  - !ruby/object:Gem::Version
166
- version: 3.8.3
166
+ version: '3.13'
167
167
  - !ruby/object:Gem::Dependency
168
168
  name: awesome_print
169
169
  requirement: !ruby/object:Gem::Requirement
170
170
  requirements:
171
171
  - - "~>"
172
172
  - !ruby/object:Gem::Version
173
- version: 1.8.0
173
+ version: '1.9'
174
174
  type: :development
175
175
  prerelease: false
176
176
  version_requirements: !ruby/object:Gem::Requirement
177
177
  requirements:
178
178
  - - "~>"
179
179
  - !ruby/object:Gem::Version
180
- version: 1.8.0
180
+ version: '1.9'
181
181
  - !ruby/object:Gem::Dependency
182
182
  name: rake
183
183
  requirement: !ruby/object:Gem::Requirement
184
184
  requirements:
185
185
  - - "~>"
186
186
  - !ruby/object:Gem::Version
187
- version: 13.0.1
187
+ version: '13.0'
188
188
  type: :development
189
189
  prerelease: false
190
190
  version_requirements: !ruby/object:Gem::Requirement
191
191
  requirements:
192
192
  - - "~>"
193
193
  - !ruby/object:Gem::Version
194
- version: 13.0.1
194
+ version: '13.0'
195
195
  - !ruby/object:Gem::Dependency
196
196
  name: pry
197
197
  requirement: !ruby/object:Gem::Requirement
198
198
  requirements:
199
199
  - - "~>"
200
200
  - !ruby/object:Gem::Version
201
- version: 0.13.1
201
+ version: '0.14'
202
202
  type: :development
203
203
  prerelease: false
204
204
  version_requirements: !ruby/object:Gem::Requirement
205
205
  requirements:
206
206
  - - "~>"
207
207
  - !ruby/object:Gem::Version
208
- version: 0.13.1
208
+ version: '0.14'
209
209
  - !ruby/object:Gem::Dependency
210
210
  name: rubocop
211
211
  requirement: !ruby/object:Gem::Requirement
212
212
  requirements:
213
213
  - - "~>"
214
214
  - !ruby/object:Gem::Version
215
- version: 0.82.0
215
+ version: '1.16'
216
216
  type: :development
217
217
  prerelease: false
218
218
  version_requirements: !ruby/object:Gem::Requirement
219
219
  requirements:
220
220
  - - "~>"
221
221
  - !ruby/object:Gem::Version
222
- version: 0.82.0
222
+ version: '1.16'
223
223
  description: MetaInspector lets you scrape a web page and get its links, images, texts,
224
224
  meta tags...
225
225
  email: jaimeiniesta@gmail.com
@@ -227,6 +227,7 @@ executables: []
227
227
  extensions: []
228
228
  extra_rdoc_files: []
229
229
  files:
230
+ - ".github/FUNDING.yml"
230
231
  - ".gitignore"
231
232
  - ".rspec.example"
232
233
  - ".rubocop.yml.example"
@@ -303,6 +304,9 @@ files:
303
304
  - spec/fixtures/relative_links.response
304
305
  - spec/fixtures/relative_links_with_base.response
305
306
  - spec/fixtures/relative_links_with_empty_base.response
307
+ - spec/fixtures/relative_links_with_relative_dir_base.response
308
+ - spec/fixtures/relative_links_with_relative_doc_base.response
309
+ - spec/fixtures/relative_links_with_relative_root_base.response
306
310
  - spec/fixtures/relative_og_image.response
307
311
  - spec/fixtures/theonion-no-description.com.response
308
312
  - spec/fixtures/theonion.com.response
@@ -348,7 +352,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
348
352
  - !ruby/object:Gem::Version
349
353
  version: '0'
350
354
  requirements: []
351
- rubygems_version: 3.1.2
355
+ rubygems_version: 3.2.15
352
356
  signing_key:
353
357
  specification_version: 4
354
358
  summary: MetaInspector is a ruby gem for web scraping purposes, that returns metadata