Class: OSDb::Selector::Movie
- Inherits:
-
Object
- Object
- OSDb::Selector::Movie
- Defined in:
- lib/osdb/selector/movie.rb
Instance Method Summary collapse
- #group_by_movie_name(subs) ⇒ Object
-
#initialize(movie_finder = Finder::First.new) ⇒ Movie
constructor
A new instance of Movie.
- #select(subs, movie) ⇒ Object
Constructor Details
#initialize(movie_finder = Finder::First.new) ⇒ Movie
Returns a new instance of Movie.
6 7 8 |
# File 'lib/osdb/selector/movie.rb', line 6 def initialize(movie_finder=Finder::First.new) @movie_finder = movie_finder end |
Instance Method Details
#group_by_movie_name(subs) ⇒ Object
20 21 22 23 24 25 26 |
# File 'lib/osdb/selector/movie.rb', line 20 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) ⇒ Object
10 11 12 13 14 15 16 17 18 |
# 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 |