Project

ruby-tmdb3

0.03
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

ruby-tmdb3

Build Status

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

Installation

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

gem install ruby-tmdb3

Compatibility

Ruby 1.8.x & 1.9.x (2.0.x experimental)

Examples

require 'rubygems'
require 'ruby-tmdb3'

# 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.title
# => "Iron Man"

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-tmdb3 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.

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)
: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")

Contributing

ruby-tmdb3 is maintained to work under Ruby 1.8.x & 1.9.x. Please make sure it works under both.

  • Fork the repo.
  • Create a topic branch.
  • Push the topic branch to your fork.
  • Create a pull request.

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-tmdb3 by calling @item.raw_data.inspect

Author & Credits

The whole contributor list can be seen at https://github.com/Irio/ruby-tmdb/graphs/contributors.

Copyright (c) 2012 Irio Irineu Musskopf Junior. Copyright (c) 2010 Aaron Gough, released under the MIT license.

Bitdeli Badge