class OSDb::Selector::Movie
Public Class Methods
new(movie_finder=Finder::First.new)
click to toggle source
# File lib/osdb/selector/movie.rb, line 6 def initialize(movie_finder=Finder::First.new) @movie_finder = movie_finder end
Public Instance Methods
group_by_movie_name(subs)
click to toggle source
# File lib/osdb/selector/movie.rb, line 18 def group_by_movie_name(subs) subs.inject({}) do |hash, sub| hash[sub.movie_name] ||= [] hash[sub.movie_name] << sub hash end end
select(subs, movie)
click to toggle source
# File lib/osdb/selector/movie.rb, line 10 def select(subs, movie) subs_by_movie = group_by_movie_name(subs) return subs if subs_by_movie.length <= 1 movie_names = subs_by_movie.keys movie_name = @movie_finder.chose(movie_names) subs_by_movie[movie_name] || [] end