Apply suggestions from code review

Co-authored-by: Samantaz Fox <coding@samantaz.fr>
このコミットが含まれているのは:
syeopite 2021-09-28 15:23:36 +00:00 committed by GitHub
コミット 6df85718e6
この署名に対応する既知のキーがデータベースに存在しません
GPGキーID: 4AEE18F83AFDEB23
1個のファイルの変更5行の追加4行の削除

ファイルの表示

@ -139,8 +139,8 @@ private module Parsers
# When public subscriber count is disabled, the subscriberCountText isn't sent by InnerTube.
# Always simpleText
# TODO change default value to nil
subscriber_count = item_contents.dig?("subscriberCountText").try &.["simpleText"].try { \
|s| short_text_to_number(s.as_s.split(" ")[0]) } || 0
subscriber_count = item_contents.dig?("subscriberCountText", "simpleText")
.try { |s| short_text_to_number(s.as_s.split(" ")[0]) } || 0
auto_generated = !item_contents["videoCountText"]? ? true : false
@ -265,7 +265,8 @@ private module Parsers
private def self.parse(item_contents, author_fallback)
title = extract_text(item_contents["title"]?) || ""
url = item_contents["endpoint"]?.try &.dig("commandMetadata", "webCommandMetadata", "url").as_s
url = item_contents.dig?("endpoint", "commandMetadata", "webCommandMetadata", "url")
.try &.as_s
# Sometimes a category can have badges.
badges = [] of Tuple(String, String) # (Badge style, label)
@ -450,7 +451,7 @@ private module HelperExtractors
# Returns a 0 when it's unable to do so
def self.get_video_count(container : JSON::Any) : Int32
if box = container["videoCountText"]?
return extract_text(container["videoCountText"]?).try &.gsub(/\D/, "").to_i || 0
return extract_text(box).try &.gsub(/\D/, "").to_i || 0
elsif box = container["videoCount"]?
return box.as_s.to_i
else