Sha256: f7437debb167d63f4469cb8b17c65bf9bbda82e8501de3fb85f341b45e87bf8a

Contents?: true

Size: 732 Bytes

Versions: 1

Compression:

Stored size: 732 Bytes

Contents

require "forwardable"
require "film_snob/version"
require "film_snob/url_to_video"
require "film_snob/exceptions"
require "film_snob/deprecated"

class FilmSnob
  extend Deprecated, Forwardable

  VIDEO_METHODS = [:site, :id, :clean_url, :title, :html]

  def_delegators :video, *VIDEO_METHODS

  # TODO(2015-11-15): actually remove this method
  deprecated_alias :watchable?, :embeddable?, :removed_in => "v1.0.0"

  attr_reader :url

  def initialize(url, options = {})
    @url = url
    @video = UrlToVideo.new(url, options).video
  end

  def embeddable?
    !@video.nil?
  end

  private

  def video
    if embeddable?
      @video
    else
      raise NotSupportedURLError, "#{url} is not a supported URL"
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
film_snob-0.6.5 lib/film_snob.rb