From f27d065e1fe7d0a71cb1a32ef162b86eb36469f2 Mon Sep 17 00:00:00 2001 From: r888888888 Date: Wed, 14 Jun 2017 16:30:19 -0700 Subject: [PATCH] fixes #3119 --- app/logical/twitter_service.rb | 6 +++++- test/unit/sources/twitter_test.rb | 11 +++++++++++ 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/app/logical/twitter_service.rb b/app/logical/twitter_service.rb index df202fcd5..c54be8425 100644 --- a/app/logical/twitter_service.rb +++ b/app/logical/twitter_service.rb @@ -52,7 +52,11 @@ class TwitterService end def extract_urls_for_card(attrs) - url = attrs.urls.map {|x| x.expanded_url}.reject {|x| x.host == "twitter.com"}.first + urls = attrs.urls.map {|x| x.expanded_url} + url = urls.reject {|x| x.host == "twitter.com"}.first + if url.nil? + url = urls.first + end [extract_og_image_from_page(url)].compact end diff --git a/test/unit/sources/twitter_test.rb b/test/unit/sources/twitter_test.rb index 8659192e3..2ac30e3d3 100644 --- a/test/unit/sources/twitter_test.rb +++ b/test/unit/sources/twitter_test.rb @@ -35,6 +35,17 @@ module Sources end end + context "A twitter summary card from twitter" do + setup do + @site = Sources::Site.new("https://twitter.com/masayasuf/status/870734961778630656/photo/1") + @site.get + end + + should "get the image url" do + assert_equal("https://pbs.twimg.com/media/DBV40M2UIAAHYlt.jpg:large", @site.image_url) + end + end + context "The source site for a restricted twitter" do setup do @site = Sources::Site.new("https://mobile.twitter.com/Strangestone/status/556440271961858051")