onebox 1.8.68 → 1.8.69

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: 8ebcc562d8b0dcc66b83ddd79e1a3bcc47e2202686d8b96417a00e1a28b4bf3e
4
- data.tar.gz: d7d3ba019ba3c50c02236b731e64981812cbd08ed51ef903d226fd31a7bc900c
3
+ metadata.gz: 98a0701ca393ddadda7d9d38abcd9d99b2d9fbdfec7a18643b106adfddf45ad7
4
+ data.tar.gz: 699090849c9ac55d0362b3785f8d4a447c509bd7a47cc4d2ee6ae79ee0f869db
5
5
  SHA512:
6
- metadata.gz: 13eb57f76bd7419811a03149467fbf89d3ea4d587fae333e20a28cabd3087c315bf6ba6a08346e59060284b07289f83d4de1d05a678a0d6897a732cac066505b
7
- data.tar.gz: 7d32c90c35c3ce018aadbf547b987ed034076ee8bdd15d6d5f90d6f7f6ba2716cc8ab2910d9b07d48acd0247c70bf51331f595b8c35295ae5f08c9892c8b74c8
6
+ metadata.gz: 3f474fc31092624d6d00062167334fcf2a61fb85b2da6075d73ed74ef34ffbc9561fd74d1d2b467410cec9c72c16f1fad863320646980422da544c40c2c16b67
7
+ data.tar.gz: 204da8eaac3fa2fef4fdbb39b0b470807eba0c2fa969bcd4d9168739e07fc5ff2e5d9c868632621ff7bdd879c9a0c6d3adeeb2af935e2d996aff4e137723386c
data/.gitignore CHANGED
@@ -18,3 +18,5 @@ test/version_tmp
18
18
  tmp
19
19
  *.swp
20
20
  .DS_Store
21
+
22
+ .rubocop-https---raw-githubusercontent-com-discourse-discourse-master--rubocop-yml
@@ -1,112 +1 @@
1
- AllCops:
2
- TargetRubyVersion: 2.3
3
- DisabledByDefault: true
4
- Include:
5
- - 'onebox.gemspec'
6
- - 'Rakefile'
7
- Exclude:
8
- - 'vendor/**/*'
9
-
10
- # Prefer &&/|| over and/or.
11
- Style/AndOr:
12
- Enabled: true
13
-
14
- # Do not use braces for hash literals when they are the last argument of a
15
- # method call.
16
- Style/BracesAroundHashParameters:
17
- Enabled: true
18
-
19
- # Align `when` with `case`.
20
- Layout/CaseIndentation:
21
- Enabled: true
22
-
23
- # Align comments with method definitions.
24
- Layout/CommentIndentation:
25
- Enabled: true
26
-
27
- # No extra empty lines.
28
- Layout/EmptyLines:
29
- Enabled: true
30
-
31
- # Use Ruby >= 1.9 syntax for hashes. Prefer { a: :b } over { :a => :b }.
32
- Style/HashSyntax:
33
- Enabled: true
34
-
35
- # Two spaces, no tabs (for indentation).
36
- Layout/IndentationWidth:
37
- Enabled: true
38
-
39
- Layout/SpaceAfterColon:
40
- Enabled: true
41
-
42
- Layout/SpaceAfterComma:
43
- Enabled: true
44
-
45
- Layout/SpaceAroundEqualsInParameterDefault:
46
- Enabled: true
47
-
48
- Layout/SpaceAroundKeyword:
49
- Enabled: true
50
-
51
- Layout/SpaceAroundOperators:
52
- Enabled: true
53
-
54
- Layout/SpaceBeforeFirstArg:
55
- Enabled: true
56
-
57
- # Defining a method with parameters needs parentheses.
58
- Style/MethodDefParentheses:
59
- Enabled: true
60
-
61
- # Use `foo {}` not `foo{}`.
62
- Layout/SpaceBeforeBlockBraces:
63
- Enabled: true
64
-
65
- # Use `foo { bar }` not `foo {bar}`.
66
- Layout/SpaceInsideBlockBraces:
67
- Enabled: true
68
-
69
- # Use `{ a: 1 }` not `{a:1}`.
70
- Layout/SpaceInsideHashLiteralBraces:
71
- Enabled: true
72
-
73
- Layout/SpaceInsideParens:
74
- Enabled: true
75
-
76
- # Detect hard tabs, no hard tabs.
77
- Layout/Tab:
78
- Enabled: true
79
-
80
- # Blank lines should not have any spaces.
81
- Layout/TrailingBlankLines:
82
- Enabled: true
83
-
84
- # No trailing whitespace.
85
- Layout/TrailingWhitespace:
86
- Enabled: true
87
-
88
- Lint/Debugger:
89
- Enabled: true
90
-
91
- Lint/BlockAlignment:
92
- Enabled: true
93
-
94
- # Align `end` with the matching keyword or starting expression except for
95
- # assignments, where it should be aligned with the LHS.
96
- Lint/EndAlignment:
97
- Enabled: true
98
- EnforcedStyleAlignWith: variable
99
-
100
- # Use my_method(my_arg) not my_method( my_arg ) or my_method my_arg.
101
- Lint/RequireParentheses:
102
- Enabled: true
103
-
104
- Layout/MultilineMethodCallIndentation:
105
- Enabled: true
106
- EnforcedStyle: indented
107
-
108
- Layout/AlignHash:
109
- Enabled: true
110
-
111
- Bundler/OrderedGems:
112
- Enabled: false
1
+ inherit_from: https://raw.githubusercontent.com/discourse/discourse/master/.rubocop.yml
data/README.md CHANGED
@@ -4,7 +4,6 @@ onebox
4
4
  [![Gem Version](https://badge.fury.io/rb/onebox.png)](https://rubygems.org/gems/onebox)
5
5
  [![Code Climate](https://codeclimate.com/github/dysania/onebox.png)](https://codeclimate.com/github/dysania/onebox)
6
6
  [![Build Status](https://travis-ci.org/discourse/onebox.png)](https://travis-ci.org/discourse/onebox)
7
- [![Dependency Status](https://gemnasium.com/discourse/onebox.png)](https://gemnasium.com/discourse/onebox)
8
7
 
9
8
  Onebox is a library for turning media URLs into simple HTML previews of the resource.
10
9
 
@@ -18,9 +18,9 @@ module Onebox
18
18
 
19
19
  private
20
20
 
21
- def match
22
- @match ||= @url.match(/asciinema\.org\/a\/(?<asciinema_id>[\p{Alnum}_\-]+)$/)
23
- end
21
+ def match
22
+ @match ||= @url.match(/asciinema\.org\/a\/(?<asciinema_id>[\p{Alnum}_\-]+)$/)
23
+ end
24
24
  end
25
25
  end
26
26
  end
@@ -21,37 +21,37 @@ module Onebox
21
21
 
22
22
  private
23
23
 
24
- def link_html(og)
25
- escaped_url = ::Onebox::Helpers.normalize_url_for_output(og[:url])
24
+ def link_html(og)
25
+ escaped_url = ::Onebox::Helpers.normalize_url_for_output(og[:url])
26
26
 
27
- <<-HTML
27
+ <<-HTML
28
28
  <a href='#{escaped_url}' target='_blank'>
29
29
  #{og[:title]}
30
30
  </a>
31
31
  HTML
32
- end
32
+ end
33
33
 
34
- def video_html(og)
35
- src = og[:url]
36
- title = og[:title]
37
- direct_src = ::Onebox::Helpers.normalize_url_for_output("#{src}/#{title}")
34
+ def video_html(og)
35
+ src = og[:url]
36
+ title = og[:title]
37
+ direct_src = ::Onebox::Helpers.normalize_url_for_output("#{src}/#{title}")
38
38
 
39
- <<-HTML
39
+ <<-HTML
40
40
  <video width='480' height='360' #{Helpers.title_attr(og)} controls loop>
41
41
  <source src='#{direct_src}' type='video/mp4'>
42
42
  </video>
43
43
  HTML
44
- end
44
+ end
45
45
 
46
- def image_html(og)
47
- escaped_url = ::Onebox::Helpers.normalize_url_for_output(og[:url])
46
+ def image_html(og)
47
+ escaped_url = ::Onebox::Helpers.normalize_url_for_output(og[:url])
48
48
 
49
- <<-HTML
49
+ <<-HTML
50
50
  <a href='#{escaped_url}' target='_blank' class='onebox'>
51
51
  <img src='#{og[:image]}' #{Helpers.title_attr(og)} alt='CloudApp' width='480'>
52
52
  </a>
53
53
  HTML
54
- end
54
+ end
55
55
  end
56
56
  end
57
57
  end
@@ -9,14 +9,14 @@ module Onebox
9
9
 
10
10
  private
11
11
 
12
- def data
13
- {
14
- link: link,
15
- title: raw.css('title').text.gsub("\n", '').strip(),
16
- image: raw.css('img[rel*="v:"]').first['src'],
17
- description: raw.css('meta[name=description]').first['content'],
18
- }
19
- end
12
+ def data
13
+ {
14
+ link: link,
15
+ title: raw.css('title').text.gsub("\n", '').strip(),
16
+ image: raw.css('img[rel*="v:"]').first['src'],
17
+ description: raw.css('meta[name=description]').first['content'],
18
+ }
19
+ end
20
20
 
21
21
  end
22
22
  end
@@ -58,30 +58,30 @@ module Onebox
58
58
 
59
59
  private
60
60
 
61
- def match
62
- @match ||= @url.match(/^https?:\/\/gfycat\.com\/(gifs\/detail\/)?(?<name>.+)/)
63
- end
61
+ def match
62
+ @match ||= @url.match(/^https?:\/\/gfycat\.com\/(gifs\/detail\/)?(?<name>.+)/)
63
+ end
64
64
 
65
- def data
65
+ def data
66
66
 
67
- total_tags = [raw['gfyItem']['tags'], raw['gfyItem']['userTags']].flatten.compact
68
- tag_links = total_tags.map { |t| "<a href='https://gfycat.com/gifs/search/#{t}'>##{t}</a>" }.join(' ') if total_tags
69
- autoplay = raw['gfyItem']['webmSize'].to_i < 10485760 ? 'autoplay' : ''
67
+ total_tags = [raw['gfyItem']['tags'], raw['gfyItem']['userTags']].flatten.compact
68
+ tag_links = total_tags.map { |t| "<a href='https://gfycat.com/gifs/search/#{t}'>##{t}</a>" }.join(' ') if total_tags
69
+ autoplay = raw['gfyItem']['webmSize'].to_i < 10485760 ? 'autoplay' : ''
70
70
 
71
- {
72
- name: raw['gfyItem']['gfyName'],
73
- title: raw['gfyItem']['title'] || 'No Title',
74
- author: raw['gfyItem']['userName'],
75
- tags: tag_links,
76
- url: @url,
77
- posterUrl: raw['gfyItem']['posterUrl'],
78
- webmUrl: raw['gfyItem']['webmUrl'],
79
- mp4Url: raw['gfyItem']['mp4Url'],
80
- width: raw['gfyItem']['width'],
81
- height: raw['gfyItem']['height'],
82
- autoplay: autoplay
83
- }
84
- end
71
+ {
72
+ name: raw['gfyItem']['gfyName'],
73
+ title: raw['gfyItem']['title'] || 'No Title',
74
+ author: raw['gfyItem']['userName'],
75
+ tags: tag_links,
76
+ url: @url,
77
+ posterUrl: raw['gfyItem']['posterUrl'],
78
+ webmUrl: raw['gfyItem']['webmUrl'],
79
+ mp4Url: raw['gfyItem']['mp4Url'],
80
+ width: raw['gfyItem']['width'],
81
+ height: raw['gfyItem']['height'],
82
+ autoplay: autoplay
83
+ }
84
+ end
85
85
 
86
86
  end
87
87
  end
@@ -17,23 +17,23 @@ module Onebox
17
17
 
18
18
  private
19
19
 
20
- def video_html(og)
21
- escaped_src = ::Onebox::Helpers.normalize_url_for_output(og[:video_secure_url])
22
- escaped_image_src = ::Onebox::Helpers.normalize_url_for_output(get_secure_link(og[:image]))
20
+ def video_html(og)
21
+ escaped_src = ::Onebox::Helpers.normalize_url_for_output(og[:video_secure_url])
22
+ escaped_image_src = ::Onebox::Helpers.normalize_url_for_output(get_secure_link(og[:image]))
23
23
 
24
- <<-HTML
24
+ <<-HTML
25
25
  <video width='#{og[:video_width]}' height='#{og[:video_height]}' #{Helpers.title_attr(og)} poster="#{escaped_image_src}" controls loop>
26
26
  <source src='#{escaped_src}' type='video/mp4'>
27
27
  </video>
28
28
  HTML
29
- end
29
+ end
30
30
 
31
- def album_html(og)
32
- escaped_url = ::Onebox::Helpers.normalize_url_for_output(url)
33
- escaped_src = ::Onebox::Helpers.normalize_url_for_output(get_secure_link(og[:image]))
34
- album_title = Onebox::Helpers::blank?(og[:description]) ? og[:title].strip : "[#{og[:description].strip}] #{og[:title].strip}"
31
+ def album_html(og)
32
+ escaped_url = ::Onebox::Helpers.normalize_url_for_output(url)
33
+ escaped_src = ::Onebox::Helpers.normalize_url_for_output(get_secure_link(og[:image]))
34
+ album_title = Onebox::Helpers::blank?(og[:description]) ? og[:title].strip : "[#{og[:description].strip}] #{og[:title].strip}"
35
35
 
36
- <<-HTML
36
+ <<-HTML
37
37
  <div class='onebox google-photos-album'>
38
38
  <a href='#{escaped_url}' target='_blank'>
39
39
  <span class='outer-box' style='width:#{og[:image_width]}px'>
@@ -45,24 +45,24 @@ module Onebox
45
45
  </a>
46
46
  </div>
47
47
  HTML
48
- end
48
+ end
49
49
 
50
- def image_html(og)
51
- escaped_url = ::Onebox::Helpers.normalize_url_for_output(url)
52
- escaped_src = ::Onebox::Helpers.normalize_url_for_output(get_secure_link(og[:image]))
50
+ def image_html(og)
51
+ escaped_url = ::Onebox::Helpers.normalize_url_for_output(url)
52
+ escaped_src = ::Onebox::Helpers.normalize_url_for_output(get_secure_link(og[:image]))
53
53
 
54
- <<-HTML
54
+ <<-HTML
55
55
  <a href='#{escaped_url}' target='_blank' class="onebox">
56
56
  <img src='#{escaped_src}' #{Helpers.title_attr(og)} alt='Google Photos' height='#{og[:image_height]}' width='#{og[:image_width]}'>
57
57
  </a>
58
58
  HTML
59
- end
59
+ end
60
60
 
61
- def get_secure_link(link)
62
- secure_link = URI(link)
63
- secure_link.scheme = 'https'
64
- secure_link.to_s
65
- end
61
+ def get_secure_link(link)
62
+ secure_link = URI(link)
63
+ secure_link.scheme = 'https'
64
+ secure_link.to_s
65
+ end
66
66
  end
67
67
  end
68
68
  end
@@ -17,23 +17,23 @@ module Onebox
17
17
 
18
18
  private
19
19
 
20
- def video_html(og)
21
- escaped_src = ::Onebox::Helpers.normalize_url_for_output(og[:video_secure_url])
20
+ def video_html(og)
21
+ escaped_src = ::Onebox::Helpers.normalize_url_for_output(og[:video_secure_url])
22
22
 
23
- <<-HTML
23
+ <<-HTML
24
24
  <video width='#{og[:video_width]}' height='#{og[:video_height]}' #{Helpers.title_attr(og)} controls loop>
25
25
  <source src='#{escaped_src}' type='video/mp4'>
26
26
  <source src='#{escaped_src.gsub('mp4', 'webm')}' type='video/webm'>
27
27
  </video>
28
28
  HTML
29
- end
29
+ end
30
30
 
31
- def album_html(og)
32
- escaped_url = ::Onebox::Helpers.normalize_url_for_output(url)
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)}"
31
+ def album_html(og)
32
+ escaped_url = ::Onebox::Helpers.normalize_url_for_output(url)
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)}"
35
35
 
36
- <<-HTML
36
+ <<-HTML
37
37
  <div class='onebox imgur-album'>
38
38
  <a href='#{escaped_url}' target='_blank'>
39
39
  <span class='outer-box' style='width:#{og[:image_width]}px'>
@@ -45,31 +45,31 @@ module Onebox
45
45
  </a>
46
46
  </div>
47
47
  HTML
48
- end
48
+ end
49
49
 
50
- def is_album?
51
- response = Onebox::Helpers.fetch_response("https://api.imgur.com/oembed.json?url=#{url}") rescue "{}"
52
- oembed_data = Onebox::Helpers.symbolize_keys(::MultiJson.load(response))
53
- imgur_data_id = Nokogiri::HTML(oembed_data[:html]).xpath("//blockquote").attr("data-id")
54
- imgur_data_id.to_s[/a\//]
55
- end
50
+ def is_album?
51
+ response = Onebox::Helpers.fetch_response("https://api.imgur.com/oembed.json?url=#{url}") rescue "{}"
52
+ oembed_data = Onebox::Helpers.symbolize_keys(::MultiJson.load(response))
53
+ imgur_data_id = Nokogiri::HTML(oembed_data[:html]).xpath("//blockquote").attr("data-id")
54
+ imgur_data_id.to_s[/a\//]
55
+ end
56
56
 
57
- def image_html(og)
58
- escaped_url = ::Onebox::Helpers.normalize_url_for_output(url)
59
- escaped_src = ::Onebox::Helpers.normalize_url_for_output(get_secure_link(og[:image]))
57
+ def image_html(og)
58
+ escaped_url = ::Onebox::Helpers.normalize_url_for_output(url)
59
+ escaped_src = ::Onebox::Helpers.normalize_url_for_output(get_secure_link(og[:image]))
60
60
 
61
- <<-HTML
61
+ <<-HTML
62
62
  <a href='#{escaped_url}' target='_blank' class="onebox">
63
63
  <img src='#{escaped_src}' #{Helpers.title_attr(og)} alt='Imgur' height='#{og[:image_height]}' width='#{og[:image_width]}'>
64
64
  </a>
65
65
  HTML
66
- end
66
+ end
67
67
 
68
- def get_secure_link(link)
69
- secure_link = URI(link)
70
- secure_link.scheme = 'https'
71
- secure_link.to_s
72
- end
68
+ def get_secure_link(link)
69
+ secure_link = URI(link)
70
+ secure_link.scheme = 'https'
71
+ secure_link.to_s
72
+ end
73
73
 
74
74
  end
75
75
  end
@@ -19,16 +19,16 @@ module Onebox
19
19
 
20
20
  private
21
21
 
22
- def oembed_data
23
- @oembed_data ||= begin
24
- oembed_url = "https://soundcloud.com/oembed.json?url=#{url}"
25
- oembed_url << "&maxheight=166" unless url["/sets/"]
26
- response = Onebox::Helpers.fetch_response(oembed_url) rescue "{}"
27
- Onebox::Helpers.symbolize_keys(::MultiJson.load(response))
28
- rescue
29
- {}
30
- end
22
+ def oembed_data
23
+ @oembed_data ||= begin
24
+ oembed_url = "https://soundcloud.com/oembed.json?url=#{url}"
25
+ oembed_url << "&maxheight=166" unless url["/sets/"]
26
+ response = Onebox::Helpers.fetch_response(oembed_url) rescue "{}"
27
+ Onebox::Helpers.symbolize_keys(::MultiJson.load(response))
28
+ rescue
29
+ {}
31
30
  end
31
+ end
32
32
 
33
33
  end
34
34
  end