Sha256: d3ea02eef1d3a1d305ef5eaf475878359170e57ce5de91c612104dad42004c5c

Contents?: true

Size: 531 Bytes

Versions: 1

Compression:

Stored size: 531 Bytes

Contents

require 'video_info/version'
require 'video_info/provider'

module VideoInfo
  PROVIDERS = %w[Vimeo Vkontakte Youtube]
  PROVIDERS.each { |p| require "video_info/providers/#{p.downcase}" }

  def self.get(url, options = {})
    if provider_const = _providers_const.detect { |p| p.usable?(url) }
      provider_const.new(url, options)
    end
  end

  def self.usable?(url)
    !!_providers_const.detect { |p| p.usable?(url) }
  end

  private

  def self._providers_const
    PROVIDERS.map { |p| Providers.const_get(p) }
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
video_info-1.6.0 lib/video_info.rb