5

Ruby Gem: IMDB

 3 years ago
source link: https://www.devroom.io/2009/06/03/ruby-gem-imdb/?utm_campaign=Feed%3A+ariejan+%28ariejan%7Cdevroom.io%29
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

Ruby Gem: IMDB

Posted: 2009-06-03 - Last updated: 2019-06-05

Tagged general ruby imdb gem api

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.


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK