Ariejan.net has moved and is now available at https://www.devroom.io

Ruby Gem: IMDB

3 June 2009

I just released version 0.1.0 of my IMDB gem which allows your app to search IMDB for IMDB movie ID’s and access most data that’s publicly available.

Installation

sudo gem install imdb

This will also install the dependencies Hpricot and HTTParty.

Usage

In your project, include the gem (and possibly rubygems as well).

require 'rubygems'
require 'imdb'

search = Imdb::Search.new('Star Trek')
=> #<Imdb::Search:0x18289e8 @query="Star Trek">

puts search.movies[0..3].collect{ |m| [m.id, m.title].join(" - ") }.join("\n")
=> 0060028 - "Star Trek" (1966) (TV series)
        0796366 - Star Trek (2009)
        0092455 - "Star Trek: The Next Generation" (1987) (TV series)
        0112178 - "Star Trek: Voyager" (1995) (TV series)

st = Imdb::Movie.new("0796366")
=> #<Imdb::Movie:0x16ff904 @url="http://www.imdb.com/title/tt0796366/", @id="0796366", @title=nil>

st.title
=> "Star Trek"
st.year
=> 2009
st.rating
=> 8.4
st.cast_members[0..2].join(", ")
=> "Chris Pine, Zachary Quinto, Leonard Nimoy"

As you can see, both Imdb::Search and Imdb::Movie are lazy loading, only doing a HTTP request when you actually request data. Also, the remote HTTP data is cached trhough-out the life span of your Imdb::Movie object.

Documentation

Generated RDoc documentation can be found at http://ariejan.github.com/imdb/.

Issues, feature requests, patches, the works

Please use https://github.com/ariejan/imdb to supply patches (preferably through a pull-request) and to report issues.