Sha256: 1409871178d1ff00c64681b1d012797d739a23c99d2238cfb6f717a01af6918e

Contents?: true

Size: 741 Bytes

Versions: 1

Compression:

Stored size: 741 Bytes

Contents

require "film_snob/coub"
require "film_snob/funny_or_die"
require "film_snob/hulu"
require "film_snob/instagram"
require "film_snob/vimeo"
require "film_snob/youtube"
require "film_snob/dailymotion"

class FilmSnob
  class UrlToVideo
    VIDEO_SITES = [
      Vimeo,
      YouTube,
      Hulu,
      FunnyOrDie,
      Coub,
      Dailymotion,
      Instagram
    ]

    attr_reader :url, :options

    def initialize(url, options)
      @url = url
      @options = options
    end

    def video
      site.nil? ? nil : site.new(url, options)
    end

    private

    def site
      @site ||= VIDEO_SITES.find do |site|
        site.valid_url_patterns.any? do |pattern|
          pattern.match(url)
        end
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
film_snob-0.4.0 lib/film_snob/url_to_video.rb