Sha256: a34db0369b5582fc195270e6f4f6ccae305d3a55210797b6a387b2cf04f440f5

Contents?: true

Size: 587 Bytes

Versions: 2

Compression:

Stored size: 587 Bytes

Contents

require "forwardable"
require "film_snob/version"
require "film_snob/url_to_oembed_provider"
require "film_snob/exceptions"

class FilmSnob
  extend Forwardable

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

  def_delegators :media, *MEDIA_METHODS

  attr_reader :url

  def initialize(url, options = {})
    @url = url
    @media = UrlToOembedProvider.new(url, options).media
  end

  def embeddable?
    !@media.nil?
  end

  private

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

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
film_snob-1.0.1 lib/film_snob.rb
film_snob-1.0.0 lib/film_snob.rb