MovieSearcher makes it possible to get information about a movie. It uses IMDB's API that their iPhone applications rely on.
It's build on top of maddox's imdb-party but adds some extra functionality and bugs fixes.
MovieSearcher has a really cool feature called find_by_release_name
that makes it possible to search for a movie based on the release name.
You can for example specify Heartbreaker 2010 LIMITED DVDRip XviD-SUBMERGE and it will return the not to good (Heartbreaker)[http://www.imdb.com/title/tt1465487/] by (Pascal Chaumeil)[http://www.imdb.com/name/nm0154312/]
sudo gem install movie_searcher
Start irb
and include the gem, require 'movie_searcher'
$ MovieSearcher.find_by_title("The Dark Knight")
=> [#<ImdbParty::Movie:0x1012a5858 @imdb_id="tt0468569", @year="2008", @title="The Dark Knight" ... >, ...]
$ movie = MovieSearcher.find_movie_by_id("tt0468569")
$ movie.title
=> "The Dark Knight"
$ movie.rating
=> 8.9
$ movie.certification
=> "PG-13"
$ MovieSearcher.top_250
=> [#<ImdbParty::Movie:0x10178ef68 @imdb_id="tt0111161", @poster_url="http://ia.media-imdb.com/images/M/MV5BMTM2NjEyNzk2OF5BMl5BanBnXkFtZTcwNjcxNjUyMQ@@._V1_.jpg" ... >, ...]
$ MovieSearcher.popular_shows
=> [#<ImdbParty::Movie:0x101ff2858 @imdb_id="tt1327801", @poster_url="http://ia.media-imdb.com/images/M/MV5BMTYxMjYxNjQxNl5BMl5BanBnXkFtZTcwNTU5Nzk4Mw@@._V1_.jpg", @year="2009", @title="Glee">, ... ]
$ MovieSearcher.find_by_release_name("Heartbreaker 2010 LIMITED DVDRip XviD-SUBMERGE").imdb_id
=> tt1465487
You can pass some options to the find_by_release_name
method to specify how it should behave.
Here is an example.
$ MovieSearcher.find_by_release_name("Heartbreaker 2010 LIMITED DVDRip XviD-SUBMERGE", :options => {:limit => 0.1, :details => true})
- ** :limit ** (Float) It defines how sensitive the parsing algorithm should be. Where 0.0 is super sensitive and 1.0 is don't care. The default value is 0.4 and workes in most cases. If you dont get any hits at all, try with a large value.
- ** :details ** (Boolean) By default, the
find_by_release_name
only returns the most basic information about a movie, like imdb_id, title and year. If you set this to true, it will do another request to IMDB and get the casts, actors, rating and so on.
** The option param can't be passed to find_by_title
**
** find_movie_by_id
don't require that you pass the :details
option to get all data **
- Start by copying the project or make your own branch.
- Navigate to the root path of the project and run
bundle
. - Start by running all tests using rspec,
rspec spec/movie_searcher_spec.rb
. - Implement your own code, write some tests, commit and do a pull request.
The gem is tested in OS X 10.6.6 using Ruby 1.8.7.