Class: OSDb::SubtitleFinder

Inherits:
Object
  • Object
show all
Defined in:
lib/osdb/subtitle_finder.rb

Instance Method Summary collapse

Constructor Details

#initialize(search_engines, finders, selectors = []) ⇒ SubtitleFinder

Returns a new instance of SubtitleFinder.



5
6
7
8
9
# File 'lib/osdb/subtitle_finder.rb', line 5

def initialize(search_engines, finders, selectors=[])
  @search_engines = search_engines
  @finders = finders
  @selectors = selectors
end

Instance Method Details

#find_sub_for(movie, language) ⇒ Object



11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
# 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)

    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

  nil
end