module VideoInfo::YoutubePlaylistAPI

Constants

ITEMS_MAX_RESULTS

Public Instance Methods

available?() click to toggle source
# File lib/video_info/providers/youtubeplaylist_api.rb, line 5
def available?
  !data["items"].empty?
rescue VideoInfo::HttpError
  false
end
date() click to toggle source
# File lib/video_info/providers/youtubeplaylist_api.rb, line 15
def date
  nil
end
description() click to toggle source
# File lib/video_info/providers/youtubeplaylist_api.rb, line 11
def description
  data["items"][0]["snippet"]["description"]
end
duration() click to toggle source
# File lib/video_info/providers/youtubeplaylist_api.rb, line 19
def duration
  nil
end
thumbnail() click to toggle source
# File lib/video_info/providers/youtubeplaylist_api.rb, line 33
def thumbnail
  thumbnail_small
end
thumbnail_large() click to toggle source
# File lib/video_info/providers/youtubeplaylist_api.rb, line 45
def thumbnail_large
  _video_snippet["thumbnails"]["high"]["url"]
end
thumbnail_large_2x() click to toggle source
# File lib/video_info/providers/youtubeplaylist_api.rb, line 49
def thumbnail_large_2x
  _video_snippet["thumbnails"]["standard"]["url"]
end
thumbnail_maxres() click to toggle source
# File lib/video_info/providers/youtubeplaylist_api.rb, line 53
def thumbnail_maxres
  _video_snippet["thumbnails"]["maxres"]["url"]
end
thumbnail_medium() click to toggle source
# File lib/video_info/providers/youtubeplaylist_api.rb, line 41
def thumbnail_medium
  _video_snippet["thumbnails"]["medium"]["url"]
end
thumbnail_small() click to toggle source
# File lib/video_info/providers/youtubeplaylist_api.rb, line 37
def thumbnail_small
  _video_snippet["thumbnails"]["default"]["url"]
end
videos() click to toggle source
# File lib/video_info/providers/youtubeplaylist_api.rb, line 23
def videos
  _playlist_video_ids.map do |entry_id|
    VideoInfo.new("http://www.youtube.com/watch?v=#{entry_id}")
  end
end
view_count() click to toggle source
# File lib/video_info/providers/youtubeplaylist_api.rb, line 29
def view_count
  nil
end

Private Instance Methods

_api_path() click to toggle source
# File lib/video_info/providers/youtubeplaylist_api.rb, line 67
def _api_path
  "/youtube/v3/playlists?part=snippet&id=#{playlist_id}&key=#{api_key}"
end
_playlist_entry() click to toggle source
# File lib/video_info/providers/youtubeplaylist_api.rb, line 59
def _playlist_entry
  data["items"]
end
_playlist_items() click to toggle source
# File lib/video_info/providers/youtubeplaylist_api.rb, line 63
def _playlist_items
  data["items"]
end
_playlist_items_api_path() click to toggle source
# File lib/video_info/providers/youtubeplaylist_api.rb, line 71
def _playlist_items_api_path
  "/youtube/v3/playlistItems?part=snippet&" \
  "playlistId=#{playlist_id}&fields=items&maxResults=#{ITEMS_MAX_RESULTS}&key=#{api_key}"
end
_playlist_items_api_url() click to toggle source
# File lib/video_info/providers/youtubeplaylist_api.rb, line 76
def _playlist_items_api_url
  "https://#{_api_base}#{_playlist_items_api_path}"
end
_playlist_items_data() click to toggle source
# File lib/video_info/providers/youtubeplaylist_api.rb, line 80
def _playlist_items_data
  @playlist_items_data ||= _set_data_from_api(_playlist_items_api_url)
end
_playlist_video_ids() click to toggle source
# File lib/video_info/providers/youtubeplaylist_api.rb, line 84
def _playlist_video_ids
  _playlist_items_data["items"].map do |item|
    item["snippet"]["resourceId"]["videoId"]
  end
end