module Onebox module Engine class GooglePhotosOnebox include Engine include StandardEmbed matches_regexp(/^https?:\/\/(photos)\.(app\.goo\.gl|google\.com)/) always_https def to_html og = get_opengraph return video_html(og) if !Onebox::Helpers::blank?(og[:video_secure_url]) return album_html(og) if !Onebox::Helpers::blank?(og[:type]) && og[:type] == "google_photos:photo_album" return image_html(og) if !Onebox::Helpers::blank?(og[:image]) nil end private def video_html(og) escaped_src = ::Onebox::Helpers.normalize_url_for_output(og[:video_secure_url]) <<-HTML HTML end def album_html(og) escaped_url = ::Onebox::Helpers.normalize_url_for_output(url) escaped_src = ::Onebox::Helpers.normalize_url_for_output(get_secure_link(og[:image])) album_title = Onebox::Helpers::blank?(og[:description]) ? og[:title].strip : "[#{og[:description].strip}] #{og[:title].strip}" <<-HTML
#{Onebox::Helpers.truncate(album_title, 80)}
HTML end def image_html(og) escaped_url = ::Onebox::Helpers.normalize_url_for_output(url) escaped_src = ::Onebox::Helpers.normalize_url_for_output(get_secure_link(og[:image])) <<-HTML Google Photos HTML end def get_secure_link(link) secure_link = URI(link) secure_link.scheme = 'https' secure_link.to_s end end end end