Sha256: 91048516957c197e6afe1d75bccdee6bfcedf31ff818abcd2193d088cbfa4d15
Contents?: true
Size: 1.11 KB
Versions: 3
Compression:
Stored size: 1.11 KB
Contents
require 'htmlentities' module Onebox module Engine class InstagramOnebox include Engine include StandardEmbed include LayoutSupport matches_regexp(/^https?:\/\/(?:www\.)?(?:instagram\.com|instagr\.am)\/p\//) always_https def data og = get_opengraph title = og[:title].split(":")[0].strip.gsub(" on Instagram", "") html_entities = HTMLEntities.new json_data = html_doc.xpath('//script[contains(text(),"window._sharedData")]').text.to_s title = "[Album] #{title}" if json_data =~ /"edge_sidecar_to_children"/ result = { link: og[:url], title: html_entities.decode(Onebox::Helpers.truncate(title, 80)), description: html_entities.decode(Onebox::Helpers.truncate(og[:description], 250)) } if !Onebox::Helpers.blank?(og[:image]) result[:image] = ::Onebox::Helpers.normalize_url_for_output(og[:image]) end if !Onebox::Helpers.blank?(og[:video_secure_url]) result[:video_link] = og[:url] end result end end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
onebox-1.8.79 | lib/onebox/engine/instagram_onebox.rb |
onebox-1.8.78 | lib/onebox/engine/instagram_onebox.rb |
onebox-1.8.77 | lib/onebox/engine/instagram_onebox.rb |