Improve documentation for extract_item(s) funcs

This commit is contained in:
syeopite 2021-06-29 09:23:48 -07:00
parent 30e85b40f9
commit 8435e79913
No known key found for this signature in database
GPG Key ID: 6FA616E5A5294A82

View File

@ -347,10 +347,10 @@ private class ContinuationExtractor < ItemsContainerExtractor
end
end
def extract_item(item : JSON::Any, author_fallback : String? = nil,
author_id_fallback : String? = nil)
# Parses an item from Youtube's JSON response into a more usable structure.
# The end result can either be a SearchVideo, SearchPlaylist or SearchChannel.
def extract_item(item : JSON::Any, author_fallback : String? = nil,
author_id_fallback : String? = nil)
author_fallback = AuthorFallback.new(author_fallback, author_id_fallback)
# Cycles through all of the item parsers and attempt to parse the raw YT JSON data.
@ -365,8 +365,10 @@ def extract_item(item : JSON::Any, author_fallback : String? = nil,
# TODO radioRenderer, showRenderer, shelfRenderer, horizontalCardListRenderer, searchPyvRenderer
end
# Parses multiple items from Youtube's initial JSON response into a more usable structure.
# The end result is an array of SearchItem.
def extract_items(initial_data : Hash(String, JSON::Any), author_fallback : String? = nil,
author_id_fallback : String? = nil)
author_id_fallback : String? = nil) : Array(SearchItem)
items = [] of SearchItem
if unpackaged_data = initial_data["contents"]?.try &.as_h