Project

ruby-tmdb

0.04
Repository is archived
No commit activity in last 3 years
No release in over 3 years
An ActiveRecord-style API wrapper for TheMovieDB.org
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Development

Runtime

 Project Readme

Please note that this repo is DEPRECATED¶ ↑

ruby-tmdb¶ ↑

ruby-tmdb is an ActiveRecord-style API wrapper for TheMovieDB.org (TMDb). ruby-tmdb is designed to streamline common tasks associated with finding information about movies and cast members.

Examples¶ ↑

require 'rubygems'
require 'ruby-tmdb'

# setup your API key
Tmdb.api_key = "t478f8de5776c799de5a"

# setup your default language
Tmdb.default_language = "en"

@movie = TmdbMovie.find(:title => "Iron Man", :limit => 1)
# => <OpenStruct>

@movie.name
# => "Iron Man"

@movie.posters.length
# => 12

@movie.posters.first.data
# => [binary blob representing JPEG]

Installation¶ ↑

For ease of use ruby-tmdb is packaged as a Rubygem. Installing it is as simple as:

gem install ruby-tmdb

Usage¶ ↑

There are 3 main methods you can use to get information about movies and cast members:

TmdbMovie.find([:id, :imdb, :title, :limit, :expand_results, :language])¶ ↑

Find information about an individual movie, or a set of movies that share a similar title, eg:

TmdbMovie.find(:title => "fight club", :limit => 10, :expand_results => true, :language => "en")

Parameters:

:id

Specifies an individual movie via it’s TMDb id

:title

Specifies a query string to look for in the movie titles

:imdb

Specifies an individual movie via it’s IMDB id

:limit

Specifies the maximum number of results to be returned

:expand_results

The TMDb API by default returns only partial info for any API method that can return multiple results. When :expand_results is set to true ruby-tmdb automatically makes extra API calls to fetch the full information for each item. This can result in very slow requests though. If you only need basic information for a search listing then set this to false. Defaults to ‘true’.

:language

Allows you to override the default API language on a per-query basis.

You must supply at least one of :id, :title, or :imdb. All other parameters are optional.

TmdbMovie.browse(,[:language, :expand_results])¶ ↑

Find information about a set of movies grouped by one or more defined criteria, eg:

TmdbMovie.browse(:order_by => "rating", :order => "desc", :genres => 18, :min_votes => 5, :page => 1, :per_page => 10, :language => "en", :expand_results => true)

Parameters:

query_options

These are defined by the TMDB.org API, for more info on which options are available please have a look at the ‘browse’ API documentation

:expand_results

See TmdbMovie

:language

See TmdbMovie

TmdbCast.find([:id, :name, :limit, :expand_results, :language])¶ ↑

Find information about an individual cast member, or a set of cast members sharing similar names, eg:

TmdbCast.find( :id => 123, :name => "Brad", :limit => 1, :expand_results => true, :language => "fr")
:id

Specifies an individual cast member via their TMDb id

:name

Specifies a query string to look for in the cast names

:limit

See TmdbMovie

:expand_results

See TmdbMovie

:language

See TmdbMovie

You must supply at least one of :id or :name. All other parameters are optional.

Usage Examples¶ ↑

Find all movies whose titles match a given string:

@movies = TmdbMovie.find(:title => 'Iron Man')

Find the movie most likely to be associated with a given title:

@movie = TmdbMovie.find(:title => 'Sin City', :limit => 1)

Find a single movie by it’s TMDb ID:

@movie = TmdbMovie.find(:id => 187)

Find a single movie by it’s IMDB ID:

@movie = TmdbMovie.find(:imdb => 'tt0401792')

Find all cast members whose names match a given string:

@actors = TmdbCast.find(:name => 'Fred')

Find an individual cast member via their TMDb ID:

@actor = TmdbCast.find(:id => 101)

Get the info for a movie in French:

@movie = TmdbMovie.find(:title => 'Sin City', :limit => 1, :language => "fr")

Item information¶ ↑

To find out more about the information each object offers on retrieved items have a look at the TMDb API Docs. For the most accurate information about the information available have a look at the data directly through ruby-tmdb by calling @item.raw_data.inspect

Author & Credits¶ ↑

Author

Aaron Gough

Contributors

Alex Hayes, Alvaro Pereyra Rabanal, Linus Oleander, aristides, Robin Boutros

Copyright © 2010 Aaron Gough (thingsaaronmade.com), released under the MIT license