class Mixtape::YoutubePlaylist
Constants
- URL
Public Class Methods
new(songs)
click to toggle source
# File lib/mixtape/youtube_playlist.rb, line 6 def initialize(songs) @songs = songs end
Public Instance Methods
url()
click to toggle source
# File lib/mixtape/youtube_playlist.rb, line 10 def url #TODO deal with imposible searches in each source before sending them to youtube #, until then i'll use compact and return less songs ids = @songs.pmap do |song| video_id(song) end.compact playlist_url ids end
Private Instance Methods
playlist_url(video_ids)
click to toggle source
# File lib/mixtape/youtube_playlist.rb, line 30 def playlist_url(video_ids) multiple_ids_url = URL + "/watch_videos?video_ids=" multiple_ids_url + video_ids.join(",") end
video_id(search)
click to toggle source
# File lib/mixtape/youtube_playlist.rb, line 21 def video_id(search) search_query = search.gsub(/\s+/, "+") search_url = URL + "/results?search_query=" + search_query youtube_metainspector = MetaInspector.new(search_url) links = youtube_metainspector.links.raw video_link = links.detect { |link| link =~ /watch/ } video_link.gsub("/watch?v=","") unless video_link.nil? end