31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
|
# File 'lib/url_to_media_tag.rb', line 31
def self.convert(url, options={})
options = options.dup
return if url.include?('>') or url.include?('<')
result = case url
when /http:\/\/(www.)?youtube\.com\/watch\?v=([A-Za-z0-9._%-]*)(\&\S+)?|http:\/\/(www.)?youtu\.be\/([A-Za-z0-9._%-]*)?/
options = merge_settings(:video, :vimeo, options)
youtube_id = $2 || $5
related_videos = "?rel=0" unless options.delete(:related_videos)
video_iframe "http://www.youtube.com/embed/#{youtube_id}#{related_videos}", options
when /http:\/\/(www.)?vimeo\.com\/([A-Za-z0-9._%-]*)((\?|#)\S+)?/
options = merge_settings(:video, :vimeo, options)
vimeo_id = $2
show_title = "title=0" unless options.delete(:show_title)
show_byline = "byline=0" unless options.delete(:show_byline)
show_portrait = "portrait=0" unless options.delete(:show_portrait)
query_string_variables = [show_title, show_byline, show_portrait].compact.join("&")
query_string = "?" + query_string_variables unless query_string_variables.empty?
video_iframe "http://player.vimeo.com/video/#{vimeo_id}#{query_string}", options
when /https?:\/\/\S+\.(jpe?g|gif|png|bmp|tif)(\?\S+)?/i
options = merge_settings(:image, options)
tag(:img, options.merge(:src => $&))
end
result = result.html_safe if result.respond_to?(:html_safe)
result
end
|