このコミットが含まれているのは:
2026-07-10 00:34:45 +09:00
コミット 3a8f7d8d89
4個のファイルの変更109行の追加23行の削除
+11 -12
ファイルの表示
@@ -1,7 +1,16 @@
module Preview
class KnownSiteExtractor
def self.thumbnail_url(uri)
youtube_thumbnail(uri) || niconico_thumbnail(uri)
youtube_thumbnail(uri)
end
def self.niconico_video_id(uri)
case uri.host&.downcase
when 'www.nicovideo.jp', 'nicovideo.jp'
uri.path[%r{\A/watch/(sm\d+)\z}, 1]
when 'nico.ms'
uri.path[%r{\A/(sm\d+)\z}, 1]
end
end
def self.youtube_thumbnail(uri)
@@ -17,16 +26,6 @@ module Preview
"https://i.ytimg.com/vi/#{ id }/hqdefault.jpg"
end
def self.niconico_thumbnail(uri)
return unless ['www.nicovideo.jp', 'nicovideo.jp', 'nico.ms'].include?(uri.host&.downcase)
id = uri.path[%r{/(?:watch/)?(sm\d+)\z}, 1]
return unless id
numeric_id = id.delete_prefix('sm')
"https://nicovideo.cdn.nimg.jp/thumbnails/#{ numeric_id }/#{ numeric_id }.L"
end
private_class_method :youtube_thumbnail, :niconico_thumbnail
private_class_method :youtube_thumbnail
end
end