lib/onebox/engine/imgur_onebox.rb in onebox-1.8.81 vs lib/onebox/engine/imgur_onebox.rb in onebox-1.8.82
- old
+ new
@@ -1,65 +1,65 @@
-module Onebox
- module Engine
- class ImgurOnebox
- include Engine
- include StandardEmbed
-
- matches_regexp(/^https?:\/\/(www\.)?imgur\.com/)
- always_https
-
- def to_html
- og = get_opengraph
- return video_html(og) if !og.video_secure_url.nil?
- return album_html(og) if is_album?
- return image_html(og) if !og.image.nil?
- nil
- end
-
- private
-
- def video_html(og)
- <<-HTML
- <video width='#{og.video_width}' height='#{og.video_height}' #{og.title_attr} controls loop>
- <source src='#{og.video_secure_url}' type='video/mp4'>
- <source src='#{og.video_secure_url.gsub('mp4', 'webm')}' type='video/webm'>
- </video>
- HTML
- end
-
- def album_html(og)
- escaped_url = ::Onebox::Helpers.normalize_url_for_output(url)
- album_title = "[Album] #{og.title}"
-
- <<-HTML
- <div class='onebox imgur-album'>
- <a href='#{escaped_url}' target='_blank'>
- <span class='outer-box' style='width:#{og.image_width}px'>
- <span class='inner-box'>
- <span class='album-title'>#{album_title}</span>
- </span>
- </span>
- <img src='#{og.get_secure_image}' #{og.title_attr} height='#{og.image_height}' width='#{og.image_width}'>
- </a>
- </div>
- HTML
- end
-
- def is_album?
- response = Onebox::Helpers.fetch_response("https://api.imgur.com/oembed.json?url=#{url}") rescue "{}"
- oembed_data = Onebox::Helpers.symbolize_keys(::MultiJson.load(response))
- imgur_data_id = Nokogiri::HTML(oembed_data[:html]).xpath("//blockquote").attr("data-id")
- imgur_data_id.to_s[/a\//]
- end
-
- def image_html(og)
- escaped_url = ::Onebox::Helpers.normalize_url_for_output(url)
-
- <<-HTML
- <a href='#{escaped_url}' target='_blank' class="onebox">
- <img src='#{og.get_secure_image}' #{og.title_attr} alt='Imgur' height='#{og.image_height}' width='#{og.image_width}'>
- </a>
- HTML
- end
- end
- end
-end
+module Onebox
+ module Engine
+ class ImgurOnebox
+ include Engine
+ include StandardEmbed
+
+ matches_regexp(/^https?:\/\/(www\.)?imgur\.com/)
+ always_https
+
+ def to_html
+ og = get_opengraph
+ return video_html(og) if !og.video_secure_url.nil?
+ return album_html(og) if is_album?
+ return image_html(og) if !og.image.nil?
+ nil
+ end
+
+ private
+
+ def video_html(og)
+ <<-HTML
+ <video width='#{og.video_width}' height='#{og.video_height}' #{og.title_attr} controls loop>
+ <source src='#{og.video_secure_url}' type='video/mp4'>
+ <source src='#{og.video_secure_url.gsub('mp4', 'webm')}' type='video/webm'>
+ </video>
+ HTML
+ end
+
+ def album_html(og)
+ escaped_url = ::Onebox::Helpers.normalize_url_for_output(url)
+ album_title = "[Album] #{og.title}"
+
+ <<-HTML
+ <div class='onebox imgur-album'>
+ <a href='#{escaped_url}' target='_blank'>
+ <span class='outer-box' style='width:#{og.image_width}px'>
+ <span class='inner-box'>
+ <span class='album-title'>#{album_title}</span>
+ </span>
+ </span>
+ <img src='#{og.get_secure_image}' #{og.title_attr} height='#{og.image_height}' width='#{og.image_width}'>
+ </a>
+ </div>
+ HTML
+ end
+
+ def is_album?
+ response = Onebox::Helpers.fetch_response("https://api.imgur.com/oembed.json?url=#{url}") rescue "{}"
+ oembed_data = Onebox::Helpers.symbolize_keys(::MultiJson.load(response))
+ imgur_data_id = Nokogiri::HTML(oembed_data[:html]).xpath("//blockquote").attr("data-id")
+ imgur_data_id.to_s[/a\//]
+ end
+
+ def image_html(og)
+ escaped_url = ::Onebox::Helpers.normalize_url_for_output(url)
+
+ <<-HTML
+ <a href='#{escaped_url}' target='_blank' class="onebox">
+ <img src='#{og.get_secure_image}' #{og.title_attr} alt='Imgur' height='#{og.image_height}' width='#{og.image_width}'>
+ </a>
+ HTML
+ end
+ end
+ end
+end