Fix an infinite recursion caused by #2228

Changes in the aforementioned PR lead to change the behavior
of some old code.

The data type of the parameters aren't explicit enough, which
makes the compiler use the wrong method because of type infering.
このコミットが含まれているのは:
Samantaz Fox 2021-10-07 13:53:55 +02:00
コミット 60fa552469
この署名に対応する既知のキーがデータベースに存在しません
GPGキーID: F42821059186176E
1個のファイルの変更31行の追加35行の削除

ファイルの表示

@ -58,17 +58,13 @@ struct SearchVideo
end
end
def to_xml(auto_generated, query_params, xml : XML::Builder | Nil = nil)
if xml
to_xml(HOST_URL, auto_generated, query_params, xml)
else
XML.build do |xml|
to_xml(HOST_URL, auto_generated, query_params, xml)
end
def to_xml(auto_generated, query_params, _xml : Nil)
XML.build do |xml|
to_xml(auto_generated, query_params, xml)
end
end
def to_json(locale : Hash(String, JSON::Any), json : JSON::Builder)
def to_json(locale : Hash(String, JSON::Any) | Nil, json : JSON::Builder)
json.object do
json.field "type", "video"
json.field "title", self.title
@ -99,16 +95,16 @@ struct SearchVideo
end
end
def to_json(locale, json : JSON::Builder | Nil = nil)
if json
def to_json(locale : Hash(String, JSON::Any) | Nil, _json : Nil = nil)
JSON.build do |json|
to_json(locale, json)
else
JSON.build do |json|
to_json(locale, json)
end
end
end
def to_json(json : JSON::Builder)
to_json(nil, json)
end
def is_upcoming
premiere_timestamp ? true : false
end
@ -133,7 +129,7 @@ struct SearchPlaylist
property videos : Array(SearchPlaylistVideo)
property thumbnail : String?
def to_json(locale, json : JSON::Builder)
def to_json(locale : Hash(String, JSON::Any) | Nil, json : JSON::Builder)
json.object do
json.field "type", "playlist"
json.field "title", self.title
@ -163,15 +159,15 @@ struct SearchPlaylist
end
end
def to_json(locale, json : JSON::Builder | Nil = nil)
if json
def to_json(locale : Hash(String, JSON::Any) | Nil, _json : Nil = nil)
JSON.build do |json|
to_json(locale, json)
else
JSON.build do |json|
to_json(locale, json)
end
end
end
def to_json(json : JSON::Builder)
to_json(nil, json)
end
end
struct SearchChannel
@ -185,7 +181,7 @@ struct SearchChannel
property description_html : String
property auto_generated : Bool
def to_json(locale, json : JSON::Builder)
def to_json(locale : Hash(String, JSON::Any) | Nil, json : JSON::Builder)
json.object do
json.field "type", "channel"
json.field "author", self.author
@ -215,15 +211,15 @@ struct SearchChannel
end
end
def to_json(locale, json : JSON::Builder | Nil = nil)
if json
def to_json(locale, _json : Nil = nil)
JSON.build do |json|
to_json(locale, json)
else
JSON.build do |json|
to_json(locale, json)
end
end
end
def to_json(json : JSON::Builder)
to_json(nil, json)
end
end
class Category
@ -235,7 +231,7 @@ class Category
property description_html : String
property badges : Array(Tuple(String, String))?
def to_json(locale, json : JSON::Builder)
def to_json(locale : Hash(String, JSON::Any) | Nil, json : JSON::Builder)
json.object do
json.field "type", "category"
json.field "title", self.title
@ -249,15 +245,15 @@ class Category
end
end
def to_json(locale, json : JSON::Builder | Nil = nil)
if json
def to_json(locale : Hash(String, JSON::Any) | Nil, _json : Nil = nil)
JSON.build do |json|
to_json(locale, json)
else
JSON.build do |json|
to_json(locale, json)
end
end
end
def to_json(json : JSON::Builder)
to_json(nil, json)
end
end
alias SearchItem = SearchVideo | SearchChannel | SearchPlaylist | Category