onebox 1.8.65 → 1.8.66

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: d249177bca9ba281eeab6fa2a5ad4cac2295dd2021aaa7fa3967e7a357d3d915
4
- data.tar.gz: 9cae641310a8886e531b67247b1e403c537c1b043d2250a11ed0ef31e0945906
3
+ metadata.gz: 3540aa0601e2e97d7837c59ea29849a2df8238954058d7392aac531451a2f5a4
4
+ data.tar.gz: 7145bc998e97ae158b25dbfe8d1aefef7738f40b0c392f3c784cfc5eba9e557e
5
5
  SHA512:
6
- metadata.gz: 94c808d0859e5ddd48c59886bb1b14e8b2bcc4fd390062beea442933e1f171f9b7ed374db237da3826d78fde1fb6d88fcf425f888705e91ff599ccc05aaa76d7
7
- data.tar.gz: 8360776b6a49763d42b4a1e4c4277f427537108574cf0821cb2d269f4a52c0629b15f1f2a08146708765b7753710b406b76ecbd7f728b24bcdafb00a62a03d0e
6
+ metadata.gz: 3e5c957d7db902ed14efc63d25c32ad61379818a0135872655b80929a2f613a278a27c7bc50b45edebc1aa0f6f8df52c74c30f4d3560c3b291a2525fd550858b
7
+ data.tar.gz: 3e6c7c2b69e745a42fd8a916e9b9e7860f476d2eb1fc47c7fb541c3d13ca5d179122e6a46729f61a09fcc71eaf347c7e4db8b0db40bd0fd6629b1b51efaa2a77
@@ -183,3 +183,4 @@ require_relative "engine/cloudapp_onebox"
183
183
  require_relative "engine/wistia_onebox"
184
184
  require_relative "engine/instagram_onebox"
185
185
  require_relative "engine/gitlab_blob_onebox"
186
+ require_relative "engine/google_photos_onebox"
@@ -0,0 +1,67 @@
1
+ module Onebox
2
+ module Engine
3
+ class GooglePhotosOnebox
4
+ include Engine
5
+ include StandardEmbed
6
+
7
+ matches_regexp(/^https?:\/\/(photos)\.(app\.goo\.gl|google\.com)/)
8
+ always_https
9
+
10
+ def to_html
11
+ og = get_opengraph
12
+ return video_html(og) if !Onebox::Helpers::blank?(og[:video_secure_url])
13
+ return album_html(og) if !Onebox::Helpers::blank?(og[:type]) && og[:type] == "google_photos:photo_album"
14
+ return image_html(og) if !Onebox::Helpers::blank?(og[:image])
15
+ nil
16
+ end
17
+
18
+ private
19
+
20
+ def video_html(og)
21
+ escaped_src = ::Onebox::Helpers.normalize_url_for_output(og[:video_secure_url])
22
+
23
+ <<-HTML
24
+ <video width='#{og[:video_width]}' height='#{og[:video_height]}' #{Helpers.title_attr(og)} controls loop>
25
+ <source src='#{escaped_src}' type='video/mp4'>
26
+ </video>
27
+ HTML
28
+ end
29
+
30
+ def album_html(og)
31
+ escaped_url = ::Onebox::Helpers.normalize_url_for_output(url)
32
+ escaped_src = ::Onebox::Helpers.normalize_url_for_output(get_secure_link(og[:image]))
33
+ album_title = "[Album] #{Onebox::Helpers.truncate(og[:title].strip, 80)}"
34
+
35
+ <<-HTML
36
+ <div class='onebox google-photos-album'>
37
+ <a href='#{escaped_url}' target='_blank'>
38
+ <span class='outer-box' style='width:#{og[:image_width]}px'>
39
+ <span class='inner-box'>
40
+ <span class='album-title'>#{album_title}</span>
41
+ </span>
42
+ </span>
43
+ <img src='#{escaped_src}' #{Helpers.title_attr(og)} height='#{og[:image_height]}' width='#{og[:image_width]}'>
44
+ </a>
45
+ </div>
46
+ HTML
47
+ end
48
+
49
+ def image_html(og)
50
+ escaped_url = ::Onebox::Helpers.normalize_url_for_output(url)
51
+ escaped_src = ::Onebox::Helpers.normalize_url_for_output(get_secure_link(og[:image]))
52
+
53
+ <<-HTML
54
+ <a href='#{escaped_url}' target='_blank' class="onebox">
55
+ <img src='#{escaped_src}' #{Helpers.title_attr(og)} alt='Google Photos' height='#{og[:image_height]}' width='#{og[:image_width]}'>
56
+ </a>
57
+ HTML
58
+ end
59
+
60
+ def get_secure_link(link)
61
+ secure_link = URI(link)
62
+ secure_link.scheme = 'https'
63
+ secure_link.to_s
64
+ end
65
+ end
66
+ end
67
+ end
@@ -31,13 +31,14 @@ module Onebox
31
31
  def album_html(og)
32
32
  escaped_url = ::Onebox::Helpers.normalize_url_for_output(url)
33
33
  escaped_src = ::Onebox::Helpers.normalize_url_for_output(get_secure_link(og[:image]))
34
+ album_title = "[Album] #{Onebox::Helpers.truncate(og[:title].strip, 80)}"
34
35
 
35
36
  <<-HTML
36
37
  <div class='onebox imgur-album'>
37
38
  <a href='#{escaped_url}' target='_blank'>
38
39
  <span class='outer-box' style='width:#{og[:image_width]}px'>
39
40
  <span class='inner-box'>
40
- <span class='album-title'>[Album] #{og[:title]}</span>
41
+ <span class='album-title'>#{album_title}</span>
41
42
  </span>
42
43
  </span>
43
44
  <img src='#{escaped_src}' #{Helpers.title_attr(og)} height='#{og[:image_height]}' width='#{og[:image_width]}'>
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Onebox
4
- VERSION = "1.8.65"
4
+ VERSION = "1.8.66"
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: onebox
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.8.65
4
+ version: 1.8.66
5
5
  platform: ruby
6
6
  authors:
7
7
  - Joanna Zeta
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2018-10-25 00:00:00.000000000 Z
13
+ date: 2018-11-09 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: multi_json
@@ -322,6 +322,7 @@ files:
322
322
  - lib/onebox/engine/google_calendar_onebox.rb
323
323
  - lib/onebox/engine/google_docs_onebox.rb
324
324
  - lib/onebox/engine/google_maps_onebox.rb
325
+ - lib/onebox/engine/google_photos_onebox.rb
325
326
  - lib/onebox/engine/google_play_app_onebox.rb
326
327
  - lib/onebox/engine/html.rb
327
328
  - lib/onebox/engine/image_onebox.rb
@@ -413,7 +414,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
413
414
  version: '0'
414
415
  requirements: []
415
416
  rubyforge_project:
416
- rubygems_version: 2.7.7
417
+ rubygems_version: 2.7.8
417
418
  signing_key:
418
419
  specification_version: 4
419
420
  summary: A gem for generating embeddable HTML previews from URLs.