auto_html 1.6.3 → 1.6.4
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.
@@ -0,0 +1,17 @@
|
|
1
|
+
AutoHtml.add_filter(:youtube_image).with(:width => 320, :height => 315, :style => 'medium', :target => 'blank', :border => '0') do |text, options|
|
2
|
+
styles = { 'default' => 'default', 'high' => 'hqdefault',
|
3
|
+
'medium' => 'mqdefault', 'normal' => 'sddefault',
|
4
|
+
'max' => 'maxresdefault' }
|
5
|
+
regex = /(https?:\/\/)?(www.)?(youtube\.com\/watch\?v=|youtu\.be\/|youtube\.com\/watch\?feature=player_embedded&v=)([A-Za-z0-9_-]*)(\&\S+)?(\?\S+)?/
|
6
|
+
text.gsub(regex) do
|
7
|
+
youtube_id = $4
|
8
|
+
video_url = "https://www.youtube.com/watch?v=#{youtube_id}"
|
9
|
+
target = options[:target]
|
10
|
+
width = options[:width]
|
11
|
+
height = options[:height]
|
12
|
+
border = options[:border]
|
13
|
+
style = styles[options[:style]] rescue styles['default']
|
14
|
+
src = "//img.youtube.com/vi/#{youtube_id}/#{style}.jpg"
|
15
|
+
%{<div class="thumbnail youtube"><a href="#{video_url}" target="_#{target}"><img src="#{src}" width="#{width}" height="#{height}" border="#{border}"></a></div>}
|
16
|
+
end
|
17
|
+
end
|
@@ -0,0 +1,59 @@
|
|
1
|
+
require File.expand_path('../../unit_test_helper', __FILE__)
|
2
|
+
|
3
|
+
class YouTubeImageTest < Test::Unit::TestCase
|
4
|
+
|
5
|
+
def test_transform
|
6
|
+
result = auto_html('http://www.youtube.com/watch?v=BwNrmYRiX_o') { youtube_image }
|
7
|
+
assert_equal '<div class="thumbnail youtube"><a href="https://www.youtube.com/watch?v=BwNrmYRiX_o" target="_blank"><img src="//img.youtube.com/vi/BwNrmYRiX_o/mqdefault.jpg" width="320" height="315" border="0"></a></div>', result
|
8
|
+
end
|
9
|
+
|
10
|
+
def test_transform2
|
11
|
+
result = auto_html('http://www.youtube.com/watch?v=BwNrmYRiX_o&eurl=http%3A%2F%2Fvukajlija.com%2Fvideo%2Fklipovi%3Fstrana%3D6&feature=player_embedded') { youtube_image }
|
12
|
+
assert_equal '<div class="thumbnail youtube"><a href="https://www.youtube.com/watch?v=BwNrmYRiX_o" target="_blank"><img src="//img.youtube.com/vi/BwNrmYRiX_o/mqdefault.jpg" width="320" height="315" border="0"></a></div>', result
|
13
|
+
end
|
14
|
+
|
15
|
+
def test_transform3
|
16
|
+
result = auto_html('http://www.youtube.com/watch?v=BwNrmYRiX_o&feature=related') { youtube_image }
|
17
|
+
assert_equal '<div class="thumbnail youtube"><a href="https://www.youtube.com/watch?v=BwNrmYRiX_o" target="_blank"><img src="//img.youtube.com/vi/BwNrmYRiX_o/mqdefault.jpg" width="320" height="315" border="0"></a></div>', result
|
18
|
+
end
|
19
|
+
|
20
|
+
def test_transform3
|
21
|
+
result = auto_html('foo http://www.youtube.com/watch?v=fT1ahr81HLw bar') { youtube_image }
|
22
|
+
assert_equal 'foo <div class="thumbnail youtube"><a href="https://www.youtube.com/watch?v=fT1ahr81HLw" target="_blank"><img src="//img.youtube.com/vi/fT1ahr81HLw/mqdefault.jpg" width="320" height="315" border="0"></a></div> bar', result
|
23
|
+
end
|
24
|
+
|
25
|
+
def test_transform4
|
26
|
+
result = auto_html('foo http://www.youtube.com/watch?v=fT1ahr81HLw<br>bar') { youtube_image }
|
27
|
+
assert_equal 'foo <div class="thumbnail youtube"><a href="https://www.youtube.com/watch?v=fT1ahr81HLw" target="_blank"><img src="//img.youtube.com/vi/fT1ahr81HLw/mqdefault.jpg" width="320" height="315" border="0"></a></div><br>bar', result
|
28
|
+
end
|
29
|
+
|
30
|
+
def test_transform_url_without_www
|
31
|
+
result = auto_html('http://youtube.com/watch?v=BwNrmYRiX_o') { youtube_image }
|
32
|
+
assert_equal '<div class="thumbnail youtube"><a href="https://www.youtube.com/watch?v=BwNrmYRiX_o" target="_blank"><img src="//img.youtube.com/vi/BwNrmYRiX_o/mqdefault.jpg" width="320" height="315" border="0"></a></div>', result
|
33
|
+
end
|
34
|
+
|
35
|
+
def test_transform_with_options
|
36
|
+
result = auto_html('http://www.youtube.com/watch?v=BwNrmYRiX_o') { youtube_image(:width => 300, :height => 255, :style => 'high', :target => 'self', :border => 1) }
|
37
|
+
assert_equal '<div class="thumbnail youtube"><a href="https://www.youtube.com/watch?v=BwNrmYRiX_o" target="_self"><img src="//img.youtube.com/vi/BwNrmYRiX_o/hqdefault.jpg" width="300" height="255" border="1"></a></div>', result
|
38
|
+
end
|
39
|
+
|
40
|
+
def test_transform_with_short_url
|
41
|
+
result = auto_html('http://www.youtu.be/BwNrmYRiX_o') { youtube_image }
|
42
|
+
assert_equal '<div class="thumbnail youtube"><a href="https://www.youtube.com/watch?v=BwNrmYRiX_o" target="_blank"><img src="//img.youtube.com/vi/BwNrmYRiX_o/mqdefault.jpg" width="320" height="315" border="0"></a></div>', result
|
43
|
+
end
|
44
|
+
|
45
|
+
def test_transform_https
|
46
|
+
result = auto_html("https://www.youtube.com/watch?v=t7NdBIA4zJg") { youtube_image }
|
47
|
+
assert_equal '<div class="thumbnail youtube"><a href="https://www.youtube.com/watch?v=t7NdBIA4zJg" target="_blank"><img src="//img.youtube.com/vi/t7NdBIA4zJg/mqdefault.jpg" width="320" height="315" border="0"></a></div>', result
|
48
|
+
end
|
49
|
+
|
50
|
+
def test_short_with_params
|
51
|
+
result = auto_html("http://youtu.be/t7NdBIA4zJg?t=1s&hd=1") { youtube_image }
|
52
|
+
assert_equal '<div class="thumbnail youtube"><a href="https://www.youtube.com/watch?v=t7NdBIA4zJg" target="_blank"><img src="//img.youtube.com/vi/t7NdBIA4zJg/mqdefault.jpg" width="320" height="315" border="0"></a></div>', result
|
53
|
+
end
|
54
|
+
|
55
|
+
def test_transform_without_protocol
|
56
|
+
result = auto_html("www.youtube.com/watch?v=t7NdBIA4zJg") { youtube_image }
|
57
|
+
assert_equal '<div class="thumbnail youtube"><a href="https://www.youtube.com/watch?v=t7NdBIA4zJg" target="_blank"><img src="//img.youtube.com/vi/t7NdBIA4zJg/mqdefault.jpg" width="320" height="315" border="0"></a></div>', result
|
58
|
+
end
|
59
|
+
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: auto_html
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.6.
|
4
|
+
version: 1.6.4
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2014-04-
|
12
|
+
date: 2014-04-11 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rinku
|
@@ -77,6 +77,7 @@ files:
|
|
77
77
|
- lib/auto_html/filters/vimeo.rb
|
78
78
|
- lib/auto_html/filters/worldstar.rb
|
79
79
|
- lib/auto_html/filters/youtube.rb
|
80
|
+
- lib/auto_html/filters/youtube_image.rb
|
80
81
|
- lib/auto_html/filters/youtube_js_api.rb
|
81
82
|
- lib/auto_html/railtie.rb
|
82
83
|
- lib/auto_html/rake_tasks.rb
|
@@ -108,6 +109,7 @@ files:
|
|
108
109
|
- test/unit/filters/twitter_test.rb
|
109
110
|
- test/unit/filters/vimeo_test.rb
|
110
111
|
- test/unit/filters/worldstar_test.rb
|
112
|
+
- test/unit/filters/youtube_image_test.rb
|
111
113
|
- test/unit/filters/youtube_js_api_test.rb
|
112
114
|
- test/unit/filters/youtube_test.rb
|
113
115
|
- test/unit/unit_test_helper.rb
|