Sha256: 8ef1c44d285cb575ec38a9c8b1e27c831af81a34693a3a01f86bcea24347e1bd
Contents?: true
Size: 1.29 KB
Versions: 1
Compression:
Stored size: 1.29 KB
Contents
require 'iso8601' require_relative 'youtube_api' require_relative 'youtube_scraper' class VideoInfo module Providers class Youtube < Provider def initialize(url, options = {}) if VideoInfo.provider_api_keys[:youtube].nil? extend YoutubeScraper else extend YoutubeAPI end super(url, options) end def self.usable?(url) url =~ /(youtube\.com\/(?!playlist|embed\/videoseries).*)|(youtu\.be)/ end def provider 'YouTube' end %w[width height].each do |method| define_method(method) { nil } end def embed_url "//www.youtube.com/embed/#{video_id}" end def thumbnail_small "https://i.ytimg.com/vi/#{video_id}/default.jpg" end def thumbnail_medium "https://i.ytimg.com/vi/#{video_id}/mqdefault.jpg" end def thumbnail_large "https://i.ytimg.com/vi/#{video_id}/hqdefault.jpg" end private def _url_regex /(?:youtube(?:-nocookie)?\.com\/(?:[^\/]+\/.+\/|(?:v|e(?:mbed)?)\/|.*[?&]v=)|youtu\.be\/)([^"&?\/ ]{11})/i end def _default_iframe_attributes { allowfullscreen: 'allowfullscreen' } end def _default_url_attributes {} end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
video_info-2.6.0 | lib/video_info/providers/youtube.rb |