lib/film_snob.rb in film_snob-0.2.1 vs lib/film_snob.rb in film_snob-0.3.0

- old
+ new

@@ -3,28 +3,32 @@ require "film_snob/exceptions" class FilmSnob attr_reader :url, :video - def initialize(url) + def initialize(url, options={}) @url = url - @video = FilmSnob::UrlToVideo.new(url).video + @video = UrlToVideo.new(url, options).video end def watchable? !video.nil? end - def method_missing(m) - if [:site, :id, :clean_url, :title, :html].include?(m) - complain_about_bad_urls!(m) - video.send(m) + def method_missing(message) + if delegated_video_methods.include?(message) + complain_about_bad_urls!(message) + video.send(message) else super end end private + + def delegated_video_methods + [:site, :id, :clean_url, :title, :html] + end def complain_about_bad_urls!(method) raise NotSupportedURLError.new("Can not call FilmSnob##{method} because #{url} is not a supported URL.") unless watchable? end