New Upstream Release - ruby-open-graph-reader

Ready changes

Summary

Merged new upstream version: 0.7.2+dfsg (was: 0.7.1+dfsg).

Resulting package

Built on 2023-01-11T10:17 (took 9m18s)

The resulting binary packages can be installed (if you have the apt repository enabled) by running one of:

apt install -t fresh-releases ruby-open-graph-reader

Lintian Result

Diff

diff --git a/debian/changelog b/debian/changelog
index b40cd35..3ecdf8e 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,9 +1,10 @@
-ruby-open-graph-reader (0.7.1+dfsg-2) UNRELEASED; urgency=medium
+ruby-open-graph-reader (0.7.2+dfsg-1) UNRELEASED; urgency=medium
 
   * Update lintian override info format in d/source/lintian-overrides on line 2.
   * Update standards version to 4.6.2, no changes needed.
+  * New upstream release.
 
- -- Debian Janitor <janitor@jelmer.uk>  Wed, 11 Jan 2023 07:19:43 -0000
+ -- Debian Janitor <janitor@jelmer.uk>  Wed, 11 Jan 2023 10:09:23 -0000
 
 ruby-open-graph-reader (0.7.1+dfsg-1) unstable; urgency=medium
 
diff --git a/lib/open_graph_reader/parser.rb b/lib/open_graph_reader/parser.rb
index 9310a0b..2530e08 100644
--- a/lib/open_graph_reader/parser.rb
+++ b/lib/open_graph_reader/parser.rb
@@ -48,7 +48,7 @@ module OpenGraphReader
     #
     # @return [String]
     def title
-      @doc.xpath("/html/head/title").first.text
+      @doc.xpath("/html/head/title").first&.text
     end
 
     private
diff --git a/lib/open_graph_reader/version.rb b/lib/open_graph_reader/version.rb
index 487b9fe..ad7caf4 100644
--- a/lib/open_graph_reader/version.rb
+++ b/lib/open_graph_reader/version.rb
@@ -1,4 +1,4 @@
 module OpenGraphReader
   # Tbe library version
-  VERSION = "0.7.1"
+  VERSION = "0.7.2"
 end
diff --git a/open_graph_reader.gemspec b/open_graph_reader.gemspec
index ca56c9b..57ff74c 100644
--- a/open_graph_reader.gemspec
+++ b/open_graph_reader.gemspec
@@ -2,24 +2,24 @@
 # This file has been automatically generated by gem2tgz #
 #########################################################
 # -*- encoding: utf-8 -*-
-# stub: open_graph_reader 0.7.1 ruby lib
+# stub: open_graph_reader 0.7.2 ruby lib
 
 Gem::Specification.new do |s|
   s.name = "open_graph_reader".freeze
-  s.version = "0.7.1"
+  s.version = "0.7.2"
 
   s.required_rubygems_version = Gem::Requirement.new(">= 0".freeze) if s.respond_to? :required_rubygems_version=
   s.require_paths = ["lib".freeze]
-  s.authors = ["Jonne Ha\u{df}".freeze]
-  s.date = "2020-09-13"
+  s.authors = ["Jonne Ha\u00DF".freeze]
+  s.date = "2021-10-13"
   s.description = "A library to fetch and parse OpenGraph properties from an URL or a given string.".freeze
   s.email = ["me@jhass.eu".freeze]
-  s.files = [".gitmodules".freeze, ".rspec".freeze, ".yardopts".freeze, "LICENSE.txt".freeze, "README.md".freeze, "lib/open_graph_reader.rb".freeze, "lib/open_graph_reader/base.rb".freeze, "lib/open_graph_reader/builder.rb".freeze, "lib/open_graph_reader/configuration.rb".freeze, "lib/open_graph_reader/definitions.rb".freeze, "lib/open_graph_reader/fetcher.rb".freeze, "lib/open_graph_reader/object.rb".freeze, "lib/open_graph_reader/object/dsl.rb".freeze, "lib/open_graph_reader/object/dsl/types.rb".freeze, "lib/open_graph_reader/object/registry.rb".freeze, "lib/open_graph_reader/parser.rb".freeze, "lib/open_graph_reader/parser/graph.rb".freeze, "lib/open_graph_reader/version.rb".freeze, "spec/fixtures/examples/apple-touch-icon-precomposed.png".freeze, "spec/fixtures/examples/apple-touch-icon.png".freeze, "spec/fixtures/examples/article-offset.html".freeze, "spec/fixtures/examples/article-utc.html".freeze, "spec/fixtures/examples/article.html".freeze, "spec/fixtures/examples/audio-array.html".freeze, "spec/fixtures/examples/audio-url.html".freeze, "spec/fixtures/examples/audio.html".freeze, "spec/fixtures/examples/book-isbn10.html".freeze, "spec/fixtures/examples/book.html".freeze, "spec/fixtures/examples/canadian.html".freeze, "spec/fixtures/examples/error.html".freeze, "spec/fixtures/examples/errors/article-date.html".freeze, "spec/fixtures/examples/errors/book-author.html".freeze, "spec/fixtures/examples/errors/book.html".freeze, "spec/fixtures/examples/errors/gender.html".freeze, "spec/fixtures/examples/errors/geo.html".freeze, "spec/fixtures/examples/errors/type.html".freeze, "spec/fixtures/examples/errors/video-duration.html".freeze, "spec/fixtures/examples/favicon.ico".freeze, "spec/fixtures/examples/filters/xss-image.html".freeze, "spec/fixtures/examples/image-array.html".freeze, "spec/fixtures/examples/image-toosmall.html".freeze, "spec/fixtures/examples/image-url.html".freeze, "spec/fixtures/examples/image.html".freeze, "spec/fixtures/examples/index.html".freeze, "spec/fixtures/examples/media/audio/1khz.mp3".freeze, "spec/fixtures/examples/media/audio/250hz.mp3".freeze, "spec/fixtures/examples/media/images/1.png".freeze, "spec/fixtures/examples/media/images/50.png".freeze, "spec/fixtures/examples/media/images/75.png".freeze, "spec/fixtures/examples/media/images/icon.png".freeze, "spec/fixtures/examples/media/images/logo.png".freeze, "spec/fixtures/examples/media/images/train.jpg".freeze, "spec/fixtures/examples/media/video/train.flv".freeze, "spec/fixtures/examples/media/video/train.mp4".freeze, "spec/fixtures/examples/media/video/train.webm".freeze, "spec/fixtures/examples/min.html".freeze, "spec/fixtures/examples/nomedia.html".freeze, "spec/fixtures/examples/plain.html".freeze, "spec/fixtures/examples/profile.html".freeze, "spec/fixtures/examples/required.html".freeze, "spec/fixtures/examples/robots.txt".freeze, "spec/fixtures/examples/sitemap.xml".freeze, "spec/fixtures/examples/video-array.html".freeze, "spec/fixtures/examples/video-movie.html".freeze, "spec/fixtures/examples/video.html".freeze, "spec/fixtures/real_world/image_path.html".freeze, "spec/fixtures/real_world/image_path_2.html".freeze, "spec/fixtures/real_world/invalid_article_author.html".freeze, "spec/fixtures/real_world/invalid_datetime.html".freeze, "spec/fixtures/real_world/just_other_prefix.html".freeze, "spec/fixtures/real_world/missing_content.html".freeze, "spec/fixtures/real_world/missing_image.html".freeze, "spec/fixtures/real_world/missing_title.html".freeze, "spec/fixtures/real_world/missing_url.html".freeze, "spec/fixtures/real_world/mixed_case_properties.html".freeze, "spec/fixtures/real_world/mixed_case_type.html".freeze, "spec/fixtures/real_world/not_a_reference.html".freeze, "spec/fixtures/real_world/undefined_property.html".freeze, "spec/fixtures/real_world/undefined_property_2.html".freeze, "spec/fixtures/real_world/unknown_namespace.html".freeze, "spec/fixtures/real_world/unknown_type.html".freeze, "spec/fixtures/real_world/url_path.html".freeze, "spec/integration/invalid_examples_spec.rb".freeze, "spec/integration/real_world_spec.rb".freeze, "spec/integration/valid_examples_spec.rb".freeze, "spec/open_graph_reader/fetcher_spec.rb".freeze, "spec/open_graph_reader_spec.rb".freeze, "spec/spec_helper.rb".freeze]
+  s.files = [".gitmodules".freeze, ".rspec".freeze, ".yardopts".freeze, "LICENSE.txt".freeze, "README.md".freeze, "lib/open_graph_reader.rb".freeze, "lib/open_graph_reader/base.rb".freeze, "lib/open_graph_reader/builder.rb".freeze, "lib/open_graph_reader/configuration.rb".freeze, "lib/open_graph_reader/definitions.rb".freeze, "lib/open_graph_reader/fetcher.rb".freeze, "lib/open_graph_reader/object.rb".freeze, "lib/open_graph_reader/object/dsl.rb".freeze, "lib/open_graph_reader/object/dsl/types.rb".freeze, "lib/open_graph_reader/object/registry.rb".freeze, "lib/open_graph_reader/parser.rb".freeze, "lib/open_graph_reader/parser/graph.rb".freeze, "lib/open_graph_reader/version.rb".freeze, "spec/fixtures/examples/apple-touch-icon-precomposed.png".freeze, "spec/fixtures/examples/apple-touch-icon.png".freeze, "spec/fixtures/examples/article-offset.html".freeze, "spec/fixtures/examples/article-utc.html".freeze, "spec/fixtures/examples/article.html".freeze, "spec/fixtures/examples/audio-array.html".freeze, "spec/fixtures/examples/audio-url.html".freeze, "spec/fixtures/examples/audio.html".freeze, "spec/fixtures/examples/book-isbn10.html".freeze, "spec/fixtures/examples/book.html".freeze, "spec/fixtures/examples/canadian.html".freeze, "spec/fixtures/examples/error.html".freeze, "spec/fixtures/examples/errors/article-date.html".freeze, "spec/fixtures/examples/errors/book-author.html".freeze, "spec/fixtures/examples/errors/book.html".freeze, "spec/fixtures/examples/errors/gender.html".freeze, "spec/fixtures/examples/errors/geo.html".freeze, "spec/fixtures/examples/errors/type.html".freeze, "spec/fixtures/examples/errors/video-duration.html".freeze, "spec/fixtures/examples/favicon.ico".freeze, "spec/fixtures/examples/filters/xss-image.html".freeze, "spec/fixtures/examples/image-array.html".freeze, "spec/fixtures/examples/image-toosmall.html".freeze, "spec/fixtures/examples/image-url.html".freeze, "spec/fixtures/examples/image.html".freeze, "spec/fixtures/examples/index.html".freeze, "spec/fixtures/examples/media/audio/1khz.mp3".freeze, "spec/fixtures/examples/media/audio/250hz.mp3".freeze, "spec/fixtures/examples/media/images/1.png".freeze, "spec/fixtures/examples/media/images/50.png".freeze, "spec/fixtures/examples/media/images/75.png".freeze, "spec/fixtures/examples/media/images/icon.png".freeze, "spec/fixtures/examples/media/images/logo.png".freeze, "spec/fixtures/examples/media/images/train.jpg".freeze, "spec/fixtures/examples/media/video/train.flv".freeze, "spec/fixtures/examples/media/video/train.mp4".freeze, "spec/fixtures/examples/media/video/train.webm".freeze, "spec/fixtures/examples/min.html".freeze, "spec/fixtures/examples/nomedia.html".freeze, "spec/fixtures/examples/plain.html".freeze, "spec/fixtures/examples/profile.html".freeze, "spec/fixtures/examples/required.html".freeze, "spec/fixtures/examples/robots.txt".freeze, "spec/fixtures/examples/sitemap.xml".freeze, "spec/fixtures/examples/video-array.html".freeze, "spec/fixtures/examples/video-movie.html".freeze, "spec/fixtures/examples/video.html".freeze, "spec/fixtures/real_world/image_path.html".freeze, "spec/fixtures/real_world/image_path_2.html".freeze, "spec/fixtures/real_world/invalid_article_author.html".freeze, "spec/fixtures/real_world/invalid_datetime.html".freeze, "spec/fixtures/real_world/just_other_prefix.html".freeze, "spec/fixtures/real_world/missing_content.html".freeze, "spec/fixtures/real_world/missing_image.html".freeze, "spec/fixtures/real_world/missing_title.html".freeze, "spec/fixtures/real_world/missing_url.html".freeze, "spec/fixtures/real_world/mixed_case_properties.html".freeze, "spec/fixtures/real_world/mixed_case_type.html".freeze, "spec/fixtures/real_world/not_a_reference.html".freeze, "spec/fixtures/real_world/twitter_profile.html".freeze, "spec/fixtures/real_world/undefined_property.html".freeze, "spec/fixtures/real_world/undefined_property_2.html".freeze, "spec/fixtures/real_world/unknown_namespace.html".freeze, "spec/fixtures/real_world/unknown_type.html".freeze, "spec/fixtures/real_world/url_path.html".freeze, "spec/integration/invalid_examples_spec.rb".freeze, "spec/integration/real_world_spec.rb".freeze, "spec/integration/valid_examples_spec.rb".freeze, "spec/open_graph_reader/fetcher_spec.rb".freeze, "spec/open_graph_reader_spec.rb".freeze, "spec/spec_helper.rb".freeze]
   s.homepage = "https://github.com/jhass/open_graph_reader".freeze
   s.licenses = ["MIT".freeze]
-  s.rubygems_version = "2.5.2.1".freeze
+  s.rubygems_version = "2.7.6.2".freeze
   s.summary = "OpenGraph protocol parser".freeze
-  s.test_files = ["spec/fixtures/examples/apple-touch-icon-precomposed.png".freeze, "spec/fixtures/examples/apple-touch-icon.png".freeze, "spec/fixtures/examples/article-offset.html".freeze, "spec/fixtures/examples/article-utc.html".freeze, "spec/fixtures/examples/article.html".freeze, "spec/fixtures/examples/audio-array.html".freeze, "spec/fixtures/examples/audio-url.html".freeze, "spec/fixtures/examples/audio.html".freeze, "spec/fixtures/examples/book-isbn10.html".freeze, "spec/fixtures/examples/book.html".freeze, "spec/fixtures/examples/canadian.html".freeze, "spec/fixtures/examples/error.html".freeze, "spec/fixtures/examples/errors/article-date.html".freeze, "spec/fixtures/examples/errors/book-author.html".freeze, "spec/fixtures/examples/errors/book.html".freeze, "spec/fixtures/examples/errors/gender.html".freeze, "spec/fixtures/examples/errors/geo.html".freeze, "spec/fixtures/examples/errors/type.html".freeze, "spec/fixtures/examples/errors/video-duration.html".freeze, "spec/fixtures/examples/favicon.ico".freeze, "spec/fixtures/examples/filters/xss-image.html".freeze, "spec/fixtures/examples/image-array.html".freeze, "spec/fixtures/examples/image-toosmall.html".freeze, "spec/fixtures/examples/image-url.html".freeze, "spec/fixtures/examples/image.html".freeze, "spec/fixtures/examples/index.html".freeze, "spec/fixtures/examples/media/audio/1khz.mp3".freeze, "spec/fixtures/examples/media/audio/250hz.mp3".freeze, "spec/fixtures/examples/media/images/1.png".freeze, "spec/fixtures/examples/media/images/50.png".freeze, "spec/fixtures/examples/media/images/75.png".freeze, "spec/fixtures/examples/media/images/icon.png".freeze, "spec/fixtures/examples/media/images/logo.png".freeze, "spec/fixtures/examples/media/images/train.jpg".freeze, "spec/fixtures/examples/media/video/train.flv".freeze, "spec/fixtures/examples/media/video/train.mp4".freeze, "spec/fixtures/examples/media/video/train.webm".freeze, "spec/fixtures/examples/min.html".freeze, "spec/fixtures/examples/nomedia.html".freeze, "spec/fixtures/examples/plain.html".freeze, "spec/fixtures/examples/profile.html".freeze, "spec/fixtures/examples/required.html".freeze, "spec/fixtures/examples/robots.txt".freeze, "spec/fixtures/examples/sitemap.xml".freeze, "spec/fixtures/examples/video-array.html".freeze, "spec/fixtures/examples/video-movie.html".freeze, "spec/fixtures/examples/video.html".freeze, "spec/fixtures/real_world/image_path.html".freeze, "spec/fixtures/real_world/image_path_2.html".freeze, "spec/fixtures/real_world/invalid_article_author.html".freeze, "spec/fixtures/real_world/invalid_datetime.html".freeze, "spec/fixtures/real_world/just_other_prefix.html".freeze, "spec/fixtures/real_world/missing_content.html".freeze, "spec/fixtures/real_world/missing_image.html".freeze, "spec/fixtures/real_world/missing_title.html".freeze, "spec/fixtures/real_world/missing_url.html".freeze, "spec/fixtures/real_world/mixed_case_properties.html".freeze, "spec/fixtures/real_world/mixed_case_type.html".freeze, "spec/fixtures/real_world/not_a_reference.html".freeze, "spec/fixtures/real_world/undefined_property.html".freeze, "spec/fixtures/real_world/undefined_property_2.html".freeze, "spec/fixtures/real_world/unknown_namespace.html".freeze, "spec/fixtures/real_world/unknown_type.html".freeze, "spec/fixtures/real_world/url_path.html".freeze, "spec/integration/invalid_examples_spec.rb".freeze, "spec/integration/real_world_spec.rb".freeze, "spec/integration/valid_examples_spec.rb".freeze, "spec/open_graph_reader/fetcher_spec.rb".freeze, "spec/open_graph_reader_spec.rb".freeze, "spec/spec_helper.rb".freeze]
+  s.test_files = ["spec/fixtures/examples/apple-touch-icon-precomposed.png".freeze, "spec/fixtures/examples/apple-touch-icon.png".freeze, "spec/fixtures/examples/article-offset.html".freeze, "spec/fixtures/examples/article-utc.html".freeze, "spec/fixtures/examples/article.html".freeze, "spec/fixtures/examples/audio-array.html".freeze, "spec/fixtures/examples/audio-url.html".freeze, "spec/fixtures/examples/audio.html".freeze, "spec/fixtures/examples/book-isbn10.html".freeze, "spec/fixtures/examples/book.html".freeze, "spec/fixtures/examples/canadian.html".freeze, "spec/fixtures/examples/error.html".freeze, "spec/fixtures/examples/errors/article-date.html".freeze, "spec/fixtures/examples/errors/book-author.html".freeze, "spec/fixtures/examples/errors/book.html".freeze, "spec/fixtures/examples/errors/gender.html".freeze, "spec/fixtures/examples/errors/geo.html".freeze, "spec/fixtures/examples/errors/type.html".freeze, "spec/fixtures/examples/errors/video-duration.html".freeze, "spec/fixtures/examples/favicon.ico".freeze, "spec/fixtures/examples/filters/xss-image.html".freeze, "spec/fixtures/examples/image-array.html".freeze, "spec/fixtures/examples/image-toosmall.html".freeze, "spec/fixtures/examples/image-url.html".freeze, "spec/fixtures/examples/image.html".freeze, "spec/fixtures/examples/index.html".freeze, "spec/fixtures/examples/media/audio/1khz.mp3".freeze, "spec/fixtures/examples/media/audio/250hz.mp3".freeze, "spec/fixtures/examples/media/images/1.png".freeze, "spec/fixtures/examples/media/images/50.png".freeze, "spec/fixtures/examples/media/images/75.png".freeze, "spec/fixtures/examples/media/images/icon.png".freeze, "spec/fixtures/examples/media/images/logo.png".freeze, "spec/fixtures/examples/media/images/train.jpg".freeze, "spec/fixtures/examples/media/video/train.flv".freeze, "spec/fixtures/examples/media/video/train.mp4".freeze, "spec/fixtures/examples/media/video/train.webm".freeze, "spec/fixtures/examples/min.html".freeze, "spec/fixtures/examples/nomedia.html".freeze, "spec/fixtures/examples/plain.html".freeze, "spec/fixtures/examples/profile.html".freeze, "spec/fixtures/examples/required.html".freeze, "spec/fixtures/examples/robots.txt".freeze, "spec/fixtures/examples/sitemap.xml".freeze, "spec/fixtures/examples/video-array.html".freeze, "spec/fixtures/examples/video-movie.html".freeze, "spec/fixtures/examples/video.html".freeze, "spec/fixtures/real_world/image_path.html".freeze, "spec/fixtures/real_world/image_path_2.html".freeze, "spec/fixtures/real_world/invalid_article_author.html".freeze, "spec/fixtures/real_world/invalid_datetime.html".freeze, "spec/fixtures/real_world/just_other_prefix.html".freeze, "spec/fixtures/real_world/missing_content.html".freeze, "spec/fixtures/real_world/missing_image.html".freeze, "spec/fixtures/real_world/missing_title.html".freeze, "spec/fixtures/real_world/missing_url.html".freeze, "spec/fixtures/real_world/mixed_case_properties.html".freeze, "spec/fixtures/real_world/mixed_case_type.html".freeze, "spec/fixtures/real_world/not_a_reference.html".freeze, "spec/fixtures/real_world/twitter_profile.html".freeze, "spec/fixtures/real_world/undefined_property.html".freeze, "spec/fixtures/real_world/undefined_property_2.html".freeze, "spec/fixtures/real_world/unknown_namespace.html".freeze, "spec/fixtures/real_world/unknown_type.html".freeze, "spec/fixtures/real_world/url_path.html".freeze, "spec/integration/invalid_examples_spec.rb".freeze, "spec/integration/real_world_spec.rb".freeze, "spec/integration/valid_examples_spec.rb".freeze, "spec/open_graph_reader/fetcher_spec.rb".freeze, "spec/open_graph_reader_spec.rb".freeze, "spec/spec_helper.rb".freeze]
 
   if s.respond_to? :specification_version then
     s.specification_version = 4
diff --git a/spec/integration/real_world_spec.rb b/spec/integration/real_world_spec.rb
index 5c82506..0a2656e 100644
--- a/spec/integration/real_world_spec.rb
+++ b/spec/integration/real_world_spec.rb
@@ -504,4 +504,31 @@ DESCRIPTION
       }.to raise_error OpenGraphReader::NoOpenGraphDataError
     end
   end
+
+  describe "twitter profile" do
+    it "does not parse" do
+      expect {
+        OpenGraphReader.parse! fixture_html "real_world/twitter_profile"
+      }.to raise_error OpenGraphReader::InvalidObjectError, /Missing required/
+    end
+
+    it "does not parse due to missing image" do
+      OpenGraphReader.config.synthesize_title = true
+
+      expect {
+        OpenGraphReader.parse! fixture_html "real_world/twitter_profile"
+      }.to raise_error OpenGraphReader::InvalidObjectError, /Missing required/
+    end
+
+    it "does parse when not validating required attributes" do
+      OpenGraphReader.config.validate_required = false
+
+      object = OpenGraphReader.parse! fixture_html "real_world/twitter_profile"
+
+      expect(object.og.type).to eq "website"
+      expect(object.og.title).to be_nil
+      expect(object.og.url).to be_nil
+      expect(object.og.site_name).to eq "Twitter"
+    end
+  end
 end

Debdiff

[The following lists of changes regard files as different if they have different names, permissions or owners.]

Files in second set of .debs but not in first

-rw-r--r--  root/root   /usr/share/rubygems-integration/all/specifications/open_graph_reader-0.7.2.gemspec

Files in first set of .debs but not in second

-rw-r--r--  root/root   /usr/share/rubygems-integration/all/specifications/open_graph_reader-0.7.1.gemspec

No differences were encountered in the control files

More details

Full run details