metainspector 5.8.0 → 5.11.1

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: a349b7103e8b214dc3211da2bc46d830e8e88b85fa7bde9b734ff3ba13802be0
4
- data.tar.gz: fc4b691504551ee1c0ca6df5f92f5f5dbf5f2ebfa71415cff5259a67aff17c5f
3
+ metadata.gz: 210e3ca023facc1a803bd66ab164c0c3f2669a1e64483807ec3ea500d2f907e9
4
+ data.tar.gz: 551f617c3a548856d4bcf3ea9ebff284ba61604b0c75e2a94db6e4606d570477
5
5
  SHA512:
6
- metadata.gz: 1a268679f23f0ecfdd4358304999200175c78c2bef37ad1d5acdba641b46512ec6e6dca8d18005b87bc7fbc9b632592ac657818c99d540324685a56912a8985c
7
- data.tar.gz: 8f90160c9f923e69157cfc8c2d6b13f386dd394501d37330a6ede47e587d9474adbe9b932df86340fc3c14754eedd59538eef65944801f6567b26189be8db077
6
+ metadata.gz: ad519a6c1b3e41dd95d37a44e5006970ce0281b917843d9845a4105219a2bf08d91d1ebe2462f3cee44c0fab819218adf441e954d35acbb58c255992d14513c9
7
+ data.tar.gz: 2ea5ffacad5a1e62145d604706407b7b7fa3a695ec839db21c92eaa7608c7e81544c728a385211c53d59712fe129feaf958693d341f1fc3e12449572a098b1eb
@@ -1,6 +1,5 @@
1
1
  script: "bundle exec rspec -b"
2
2
  rvm:
3
- - 2.3.6
4
- - 2.4.3
5
- - 2.5.0
6
- - 2.6.4
3
+ - 2.5.8
4
+ - 2.6.6
5
+ - 2.7.1
@@ -1,5 +1,27 @@
1
1
  # MetaInpector Changelog
2
2
 
3
+ ## [Changes in 5.11.0](https://github.com/jaimeiniesta/metainspector/compare/v5.10.1...v5.11.0)
4
+
5
+ * Upgrade to Faraday 1.1.
6
+
7
+ ## [Changes in 5.10.1](https://github.com/jaimeiniesta/metainspector/compare/v5.10.0...v5.10.1)
8
+
9
+ * Fix for empty base_href. Makes relative links work when base_href is nil but empty ("").
10
+ * Drop support for Ruby 2.4, add support for Ruby 2.7.
11
+
12
+ ## [Changes in 5.10](https://github.com/jaimeiniesta/metainspector/compare/v5.9.0...v5.10.0)
13
+
14
+ * Upgrade to Faraday 1.0.
15
+
16
+ ## [Changes in 5.9](https://github.com/jaimeiniesta/metainspector/compare/v5.8.0...v5.9.0)
17
+
18
+ * Added #feeds method to retrieve all feeds of a page.
19
+ * Adds deprecation warning on #feed method.
20
+
21
+ ## [Changes in 5.8](https://github.com/jaimeiniesta/metainspector/compare/v5.7.0...v5.8.0)
22
+
23
+ * Added h1..h6 support.
24
+
3
25
  ## [Changes in 5.7](https://github.com/jaimeiniesta/metainspector/compare/v5.6.0...v5.7.0)
4
26
 
5
27
  * Avoids normalizing image URLs. https://github.com/jaimeiniesta/metainspector/pull/241
data/README.md CHANGED
@@ -1,4 +1,5 @@
1
- # MetaInspector [![Build Status](https://secure.travis-ci.org/jaimeiniesta/metainspector.png)](http://travis-ci.org/jaimeiniesta/metainspector) [![Code Climate](https://codeclimate.com/github/jaimeiniesta/metainspector/badges/gpa.svg)](https://codeclimate.com/github/jaimeiniesta/metainspector)
1
+ # MetaInspector
2
+ [![Gem Version](https://badge.fury.io/rb/metainspector.svg)](http://badge.fury.io/rb/metainspector) [![Build Status](https://secure.travis-ci.org/jaimeiniesta/metainspector.png)](http://travis-ci.org/jaimeiniesta/metainspector) [![SemVer](https://api.dependabot.com/badges/compatibility_score?dependency-name=metainspector&package-manager=bundler&version-scheme=semver)](https://dependabot.com/compatibility-score.html?dependency-name=metainspector&package-manager=bundler&version-scheme=semver) [![Code Climate](https://codeclimate.com/github/jaimeiniesta/metainspector/badges/gpa.svg)](https://codeclimate.com/github/jaimeiniesta/metainspector) [![Mentioned in Awesome Ruby](https://awesome.re/mentioned-badge.svg)](https://github.com/markets/awesome-ruby)
2
3
 
3
4
  MetaInspector is a gem for web scraping purposes.
4
5
 
@@ -22,6 +23,8 @@ If you're using it on a Rails application, just add it to your Gemfile and run `
22
23
  gem 'metainspector'
23
24
  ```
24
25
 
26
+ Supported Ruby versions are defined in [`.travis.yml`](.travis.yml).
27
+
25
28
  ## Usage
26
29
 
27
30
  Initialize a MetaInspector instance for an URL, like this:
@@ -73,7 +76,7 @@ page.root_url # Root url (scheme + host, like http://sitevalidator.co
73
76
  page.head_links # an array of hashes of all head/links
74
77
  page.stylesheets # an array of hashes of all head/links where rel='stylesheet'
75
78
  page.canonicals # an array of hashes of all head/links where rel='canonical'
76
- page.feed # Get rss or atom links in meta data fields as array
79
+ page.feeds # Get rss or atom links in meta data fields as array of hash in the form { href: "...", title: "...", type: "..." }
77
80
  ```
78
81
 
79
82
  ### Texts
@@ -49,7 +49,7 @@ module MetaInspector
49
49
 
50
50
  delegate [:parsed, :title, :best_title, :author, :best_author,
51
51
  :h1, :h2, :h3, :h4, :h5, :h6, :description, :best_description, :links,
52
- :images, :feed, :charset, :meta_tags,
52
+ :images, :feeds, :feed, :charset, :meta_tags,
53
53
  :meta_tag, :meta, :favicon,
54
54
  :head_links, :stylesheets, :canonicals] => :@parser
55
55
 
@@ -76,6 +76,7 @@ module MetaInspector
76
76
  'images' => images.to_a,
77
77
  'charset' => charset,
78
78
  'feed' => feed,
79
+ 'feeds' => feeds,
79
80
  'content_type' => content_type,
80
81
  'meta_tags' => meta_tags,
81
82
  'favicon' => images.favicon,
@@ -23,7 +23,7 @@ module MetaInspector
23
23
  extend Forwardable
24
24
  delegate [:url, :scheme, :host] => :@document
25
25
  delegate [:meta_tags, :meta_tag, :meta, :charset] => :@meta_tag_parser
26
- delegate [:head_links, :stylesheets, :canonicals, :feed] => :@head_links_parser
26
+ delegate [:head_links, :stylesheets, :canonicals, :feeds, :feed] => :@head_links_parser
27
27
  delegate [:links, :base_url] => :@links_parser
28
28
  delegate :images => :@images_parser
29
29
  delegate [:title, :best_title, :author, :best_author, :description, :best_description,
@@ -3,6 +3,10 @@ module MetaInspector
3
3
  class HeadLinksParser < Base
4
4
  delegate [:parsed, :base_url] => :@main_parser
5
5
 
6
+ KNOWN_FEED_TYPES = %w[
7
+ application/rss+xml application/atom+xml application/json
8
+ ].freeze
9
+
6
10
  def head_links
7
11
  @head_links ||= parsed.css('head link').map do |tag|
8
12
  Hash[
@@ -24,16 +28,25 @@ module MetaInspector
24
28
  @canonicals ||= head_links.select { |hl| hl[:rel] == 'canonical' }
25
29
  end
26
30
 
27
- # Returns the parsed document meta rss link
28
- def feed
29
- @feed ||= (parsed_feed('rss') || parsed_feed('atom'))
30
- end
31
+ def feeds
32
+ @feeds ||=
33
+ parsed.search("//link[@rel='alternate']").map do |link|
34
+ next if !KNOWN_FEED_TYPES.include?(link["type"]) || link["href"].to_s.strip == ''
31
35
 
32
- private
36
+ {
37
+ title: link["title"],
38
+ href: URL.absolutify(link["href"], base_url),
39
+ type: link["type"]
40
+ }
41
+ end.compact
42
+ end
33
43
 
34
- def parsed_feed(format)
35
- feed = parsed.search("//link[@type='application/#{format}+xml']").find{|link| link.attributes["href"] }
36
- feed ? URL.absolutify(feed['href'], base_url) : nil
44
+ def feed
45
+ warn "DEPRECATION: Use MetaInspector#feeds instead of #feed. The former gives you all feeds and their metadata, the latter will be removed."
46
+ @feed ||= begin
47
+ first_feed = feeds.find { |l| /\/(rss|atom)\+xml$/i =~ l[:type] } || {}
48
+ first_feed[:href]
49
+ end
37
50
  end
38
51
  end
39
52
  end
@@ -47,7 +47,8 @@ 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
- base_href || url
50
+ current_base_href = base_href.to_s.strip.empty? ? nil : base_href
51
+ current_base_href || url
51
52
  end
52
53
 
53
54
  # Returns the value of the href attribute on the <base /> tag, if exists
@@ -48,7 +48,7 @@ module MetaInspector
48
48
  @response ||= fetch
49
49
  rescue Faraday::TimeoutError => e
50
50
  raise MetaInspector::TimeoutError.new(e)
51
- rescue Faraday::Error::ConnectionFailed, Faraday::SSLError, URI::InvalidURIError, FaradayMiddleware::RedirectLimitReached => e
51
+ rescue Faraday::ConnectionFailed, Faraday::SSLError, URI::InvalidURIError, FaradayMiddleware::RedirectLimitReached => e
52
52
  raise MetaInspector::RequestError.new(e)
53
53
  end
54
54
 
@@ -1,3 +1,3 @@
1
1
  module MetaInspector
2
- VERSION = '5.8.0'
2
+ VERSION = '5.11.1'
3
3
  end
@@ -1,11 +1,11 @@
1
1
  require File.expand_path('../lib/meta_inspector/version', __FILE__)
2
2
 
3
3
  Gem::Specification.new do |gem|
4
- gem.authors = ["Jaime Iniesta"]
5
- gem.email = ["jaimeiniesta@gmail.com"]
4
+ gem.author = "Jaime Iniesta"
5
+ gem.email = "jaimeiniesta@gmail.com"
6
6
  gem.description = %q{MetaInspector lets you scrape a web page and get its links, images, texts, meta tags...}
7
7
  gem.summary = %q{MetaInspector is a ruby gem for web scraping purposes, that returns metadata from a given URL}
8
- gem.homepage = "https://github.com/jaimeiniesta/metainspector"
8
+ gem.homepage = "https://github.com/metainspector/metainspector"
9
9
  gem.license = "MIT"
10
10
 
11
11
  gem.files = `git ls-files`.split("\n")
@@ -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.10.4'
18
- gem.add_dependency 'faraday', '~> 0.17.0'
19
- gem.add_dependency 'faraday_middleware', '~> 0.13.1'
20
- gem.add_dependency 'faraday-cookie_jar', '~> 0.0.6'
21
- gem.add_dependency 'faraday-http-cache', '~> 2.0.0'
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
22
  gem.add_dependency 'faraday-encoding', '~> 0.0.5'
23
23
  gem.add_dependency 'addressable', '~> 2.7.0'
24
24
  gem.add_dependency 'fastimage', '~> 2.1.7'
25
25
  gem.add_dependency 'nesty', '~> 1.0.2'
26
26
 
27
27
  gem.add_development_dependency 'rspec', '~> 3.9.0'
28
- gem.add_development_dependency 'webmock', '~> 3.7.6'
28
+ gem.add_development_dependency 'webmock', '~> 3.8.3'
29
29
  gem.add_development_dependency 'awesome_print', '~> 1.8.0'
30
- gem.add_development_dependency 'rake', '~> 13.0.0'
31
- gem.add_development_dependency 'pry', '~> 0.12.2'
32
- gem.add_development_dependency 'rubocop', '~> 0.75.1'
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'
33
33
  end
@@ -44,6 +44,7 @@ describe MetaInspector::Document do
44
44
  "images" => ["http://pagerankalert.com/images/pagerank_alert.png?1305794559"],
45
45
  "charset" => "utf-8",
46
46
  "feed" => "http://feeds.feedburner.com/PageRankAlert",
47
+ "feeds" => [{href: "http://feeds.feedburner.com/PageRankAlert", title: "PageRankAlert.com blog", type: "application/rss+xml"}],
47
48
  "h1" => [],
48
49
  "h2" => ["Track your PageRank changes"],
49
50
  "h3" => ["WHAT'S YOUR PAGERANK?"],
@@ -0,0 +1,23 @@
1
+ HTTP/1.1 200
2
+ date: Wed, 08 Jan 2020 23:21:58 GMT
3
+ content-type: text/html; charset=UTF-8
4
+ server: nginx/0.7.67
5
+
6
+ <!DOCTYPE html>
7
+ <html>
8
+ <head>
9
+ <title>a page with feeds</title>
10
+ <link rel="alternate" title="Articles - JSON Feed" type="application/json" href="https://example.org/feed.json" />
11
+ <link rel="alternate" title="Comments - JSON Feed" type="application/json" href="https://example.org/feed/comments.json" />
12
+ <link rel="alternate" title="Articles - RSS Feed" type="application/rss+xml" href="https://example.org/feed.rss" />
13
+ <link rel="alternate" title="Comments - RSS Feed" type="application/rss+xml" href="https://example.org/feed/comments.rss" />
14
+ <link rel="alternate" title="Articles - Atom Feed" type="application/atom+xml" href="https://example.org/feed.xml" />
15
+ <link rel="alternate" title="Comments - Atom Feed" type="application/atom+xml" href="https://example.org/feed/comments.xml" />
16
+
17
+ <link rel="alternate" title="Invalid Feed" />
18
+ <link rel="alternate" title="Feed with empty href" type="application/atom+xml" href="" />
19
+ </head>
20
+ <body>
21
+
22
+ </body>
23
+ </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>
@@ -39,7 +39,10 @@ describe MetaInspector do
39
39
  context "on page with some broken feed links" do
40
40
  let(:page){ MetaInspector.new('http://example.com/broken_head_links') }
41
41
  it "tries to find correct one" do
42
- expect(page.feed).to eq("http://www.guardian.co.uk/media/techcrunch/rss")
42
+ expected = [
43
+ { title: "TechCrunch RSS feed", href: "http://www.guardian.co.uk/media/techcrunch/rss", type: "application/rss+xml" }
44
+ ]
45
+ expect(page.feeds).to eq(expected)
43
46
  end
44
47
  end
45
48
  end
@@ -145,6 +145,13 @@ describe MetaInspector do
145
145
  end
146
146
  end
147
147
 
148
+ describe 'Relative links with empty or blank base' do
149
+ it 'should get the relative links from a document' do
150
+ m = MetaInspector.new('http://relativewithemptybase.com/company')
151
+ expect(m.links.internal).to eq(['http://relativewithemptybase.com/about', 'http://relativewithemptybase.com/sitemap'])
152
+ end
153
+ end
154
+
148
155
  describe 'Relative links with base' do
149
156
  it 'should get the relative links from a document' do
150
157
  m = MetaInspector.new('http://relativewithbase.com/company/page2')
@@ -190,20 +197,37 @@ describe MetaInspector do
190
197
  end
191
198
  end
192
199
 
193
- describe "Feed" do
194
- it "should get rss feed" do
195
- @m = MetaInspector.new('http://www.iteh.at')
196
- expect(@m.feed).to eq('http://www.iteh.at/de/rss/')
197
- end
200
+ context "Feeds" do
201
+ let(:meta) { MetaInspector.new('http://feeds.example.com') }
202
+
203
+ describe "#feeds" do
204
+ it "should return all the document's feeds" do
205
+ expected = [
206
+ { title: "Articles - JSON Feed", href: "https://example.org/feed.json", type: "application/json" },
207
+ { title: "Comments - JSON Feed", href: "https://example.org/feed/comments.json", type: "application/json" },
208
+ { title: "Articles - RSS Feed", href: "https://example.org/feed.rss", type: "application/rss+xml" },
209
+ { title: "Comments - RSS Feed", href: "https://example.org/feed/comments.rss", type: "application/rss+xml" },
210
+ { title: "Articles - Atom Feed", href: "https://example.org/feed.xml", type: "application/atom+xml" },
211
+ { title: "Comments - Atom Feed", href: "https://example.org/feed/comments.xml", type: "application/atom+xml" }
212
+ ]
213
+ expect(meta.feeds).to eq(expected)
214
+ end
198
215
 
199
- it "should get atom feed" do
200
- @m = MetaInspector.new('http://www.tea-tron.com/jbravo/blog/')
201
- expect(@m.feed).to eq('http://www.tea-tron.com/jbravo/blog/feed/')
216
+ it "should return nothing if no feeds found" do
217
+ @m = MetaInspector.new('http://www.alazan.com')
218
+ expect(@m.feeds).to eq([])
219
+ end
202
220
  end
203
221
 
204
- it "should return nil if no feed found" do
205
- @m = MetaInspector.new('http://www.alazan.com')
206
- expect(@m.feed).to eq(nil)
222
+ describe "#feed" do
223
+ it "should return the first feed's href" do
224
+ expect(meta.feed).to eq("https://example.org/feed.rss")
225
+ end
226
+
227
+ it "should give a deprecation warning" do
228
+ warning = "DEPRECATION: Use MetaInspector#feeds instead of #feed. The former gives you all feeds and their metadata, the latter will be removed.\n"
229
+ expect { meta.feed }.to output(warning).to_stderr
230
+ end
207
231
  end
208
232
  end
209
233
  end
@@ -65,12 +65,11 @@ RSpec.configure do |config|
65
65
  stub_request(:get, "http://relativewithbase.com/").to_return(fixture_file("relative_links_with_base.response"))
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
+ stub_request(:get, "http://relativewithemptybase.com/company").to_return(fixture_file("relative_links_with_empty_base.response"))
68
69
  stub_request(:get, "http://theonion-no-description.com").to_return(fixture_file("theonion-no-description.com.response"))
69
70
  stub_request(:get, "http://www.24-horas.mx/mexico-firma-acuerdo-bilateral-automotriz-con-argentina/").to_return(fixture_file("relative_og_image.response"))
70
71
  stub_request(:get, "http://www.alazan.com").to_return(fixture_file("alazan.com.response"))
71
72
  stub_request(:get, "http://www.guardian.co.uk/media/pda/2011/sep/15/techcrunch-arrington-startups").to_return(fixture_file("guardian.co.uk.response"))
72
- stub_request(:get, "http://www.iteh.at").to_return(fixture_file("iteh.at.response"))
73
- stub_request(:get, "http://www.tea-tron.com/jbravo/blog/").to_return(fixture_file("tea-tron.com.response"))
74
73
  stub_request(:get, "http://www.theonion.com/articles/apple-claims-new-iphone-only-visible-to-most-loyal,2772/").to_return(fixture_file("theonion.com.response"))
75
74
  stub_request(:get, "http://www.youtube.com/watch?v=iaGSSrp49uc").to_return(fixture_file("youtube.response"))
76
75
  stub_request(:get, "http://www.youtube.com/watch?v=short_title").to_return(fixture_file("youtube_short_title.response"))
@@ -79,5 +78,6 @@ RSpec.configure do |config|
79
78
  stub_request(:get, "https://twitter.com/markupvalidator").to_return(fixture_file("twitter_markupvalidator.response"))
80
79
  stub_request(:get, "https://www.facebook.com/").to_return(fixture_file("https.facebook.com.response"))
81
80
  stub_request(:get, "http://example.com/meta_tags_empty").to_return(fixture_file("meta_tags_empty.response"))
81
+ stub_request(:get, "http://feeds.example.com").to_return(fixture_file("feeds.response"))
82
82
  end
83
83
  end
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.8.0
4
+ version: 5.11.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jaime Iniesta
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-10-22 00:00:00.000000000 Z
11
+ date: 2021-01-05 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: nokogiri
@@ -16,70 +16,70 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: 1.10.4
19
+ version: 1.11.0
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.10.4
26
+ version: 1.11.0
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: 0.17.0
33
+ version: 1.1.0
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: 0.17.0
40
+ version: 1.1.0
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: 0.13.1
47
+ version: 1.0.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: 0.13.1
54
+ version: 1.0.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.6
61
+ version: 0.0.7
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.6
68
+ version: 0.0.7
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.0.0
75
+ version: 2.2.0
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.0.0
82
+ version: 2.2.0
83
83
  - !ruby/object:Gem::Dependency
84
84
  name: faraday-encoding
85
85
  requirement: !ruby/object:Gem::Requirement
@@ -156,14 +156,14 @@ dependencies:
156
156
  requirements:
157
157
  - - "~>"
158
158
  - !ruby/object:Gem::Version
159
- version: 3.7.6
159
+ version: 3.8.3
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.7.6
166
+ version: 3.8.3
167
167
  - !ruby/object:Gem::Dependency
168
168
  name: awesome_print
169
169
  requirement: !ruby/object:Gem::Requirement
@@ -184,46 +184,45 @@ dependencies:
184
184
  requirements:
185
185
  - - "~>"
186
186
  - !ruby/object:Gem::Version
187
- version: 13.0.0
187
+ version: 13.0.1
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.0
194
+ version: 13.0.1
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.12.2
201
+ version: 0.13.1
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.12.2
208
+ version: 0.13.1
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.75.1
215
+ version: 0.82.0
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.75.1
222
+ version: 0.82.0
223
223
  description: MetaInspector lets you scrape a web page and get its links, images, texts,
224
224
  meta tags...
225
- email:
226
- - jaimeiniesta@gmail.com
225
+ email: jaimeiniesta@gmail.com
227
226
  executables: []
228
227
  extensions: []
229
228
  extra_rdoc_files: []
@@ -278,6 +277,7 @@ files:
278
277
  - spec/fixtures/encoding.response
279
278
  - spec/fixtures/example.response
280
279
  - spec/fixtures/facebook.com.response
280
+ - spec/fixtures/feeds.response
281
281
  - spec/fixtures/guardian.co.uk.response
282
282
  - spec/fixtures/head_links.response
283
283
  - spec/fixtures/headings.response
@@ -286,7 +286,6 @@ files:
286
286
  - spec/fixtures/invalid_byte_seq.response
287
287
  - spec/fixtures/invalid_href.response
288
288
  - spec/fixtures/invalid_utf8_byte_seq.response
289
- - spec/fixtures/iteh.at.response
290
289
  - spec/fixtures/largest_image_in_html.response
291
290
  - spec/fixtures/largest_image_using_image_size.response
292
291
  - spec/fixtures/malformed_href.response
@@ -303,8 +302,8 @@ files:
303
302
  - spec/fixtures/protocol_relative.response
304
303
  - spec/fixtures/relative_links.response
305
304
  - spec/fixtures/relative_links_with_base.response
305
+ - spec/fixtures/relative_links_with_empty_base.response
306
306
  - spec/fixtures/relative_og_image.response
307
- - spec/fixtures/tea-tron.com.response
308
307
  - spec/fixtures/theonion-no-description.com.response
309
308
  - spec/fixtures/theonion.com.response
310
309
  - spec/fixtures/title_best_choice.response
@@ -330,11 +329,11 @@ files:
330
329
  - spec/request_spec.rb
331
330
  - spec/spec_helper.rb
332
331
  - spec/url_spec.rb
333
- homepage: https://github.com/jaimeiniesta/metainspector
332
+ homepage: https://github.com/metainspector/metainspector
334
333
  licenses:
335
334
  - MIT
336
335
  metadata: {}
337
- post_install_message:
336
+ post_install_message:
338
337
  rdoc_options: []
339
338
  require_paths:
340
339
  - lib
@@ -349,8 +348,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
349
348
  - !ruby/object:Gem::Version
350
349
  version: '0'
351
350
  requirements: []
352
- rubygems_version: 3.0.4
353
- signing_key:
351
+ rubygems_version: 3.1.2
352
+ signing_key:
354
353
  specification_version: 4
355
354
  summary: MetaInspector is a ruby gem for web scraping purposes, that returns metadata
356
355
  from a given URL