class TrueURL::Strategy::YouTube
Public Instance Methods
execute(context)
click to toggle source
# File lib/true_url/strategy/youtube.rb, line 4 def execute(context) path = context.working_url.path if context.working_url.host == 'youtu.be' video_id = path[1..-1] elsif path == '/watch' video_id = context.working_url.query_values['v'] elsif path == '/playlist' playlist_id = context.working_url.query_values['list'] elsif path[0..17] == '/embed/videoseries' playlist_id = context.working_url.query_values['list'] elsif path[0..6] == '/embed/' video_id = path[7..-1] end unless video_id.nil? context.set_working_url("https://www.youtube.com/watch?v=#{video_id}") context.finalize context.attributes[:embed_url] = "https://www.youtube.com/embed/#{video_id}" context.attributes[:embed_url_private] = "https://www.youtube-nocookie.com/embed/#{video_id}" end unless playlist_id.nil? context.set_working_url("https://www.youtube.com/playlist?list=#{playlist_id}") context.finalize context.attributes[:embed_url] = "https://www.youtube.com/embed/videoseries?list=#{playlist_id}" context.attributes[:embed_url_private] = "https://www.youtube-nocookie.com/embed/videoseries?list=#{playlist_id}" end end