class OSDb::SubtitleFinder

Public Class Methods

new(search_engines, finders, selectors=[]) click to toggle source
# File lib/osdb/subtitle_finder.rb, line 5
def initialize(search_engines, finders, selectors=[])
  @search_engines = search_engines
  @finders = finders
  @selectors = selectors
end

Public Instance Methods

find_sub_for(movie, language) click to toggle source
# File lib/osdb/subtitle_finder.rb, line 11
def find_sub_for(movie, language)
  @search_engines.each do |engine|
    subs = engine.search_subs_for(movie, language)
    unless subs.nil?
      subs = @selectors.inject(subs) do |subs, selector|
        selector.select(subs, movie)
      end
      @finders.each do |finder|
        sub = finder.chose(subs)
        return sub if sub
      end
    end
  end

  nil
end