Class: TMDB::Movie

Inherits:
Hashie::Mash
  • Object
show all
Defined in:
lib/tmdb/movie.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.advanced_search(options = {}) ⇒ Object

language (ISO_639_1: ‘en’) country (ISO_3166_1: ‘US’)



44
45
46
47
48
49
50
51
52
53
54
55
# File 'lib/tmdb/movie.rb', line 44

def self.advanced_search(options = {})
  # US-snobbish
  options.merge!(api_key: TMDB::API.api_key,
                 language: 'en',
                 certification_country: 'US')
  results = TMDB::API.get("/3/discover/movie", query: options)['results']
  movies = []
  results.each do |result|
    movies.push(TMDB::Movie.new(result))
  end
  return movies
end

.id(movie_id) ⇒ Object



57
58
59
60
# File 'lib/tmdb/movie.rb', line 57

def self.id(movie_id)
  options = { api_key: TMDB::API.api_key }
  return TMDB::Movie.new(TMDB::API.get("/3/movie/#{movie_id}", query: options))
end

.imdb_id(imdb_id) ⇒ Object



62
63
64
65
66
67
# File 'lib/tmdb/movie.rb', line 62

def self.imdb_id(imdb_id)
  options = { api_key: TMDB::API.api_key,
              external_source: 'imdb_id'}
  result = TMDB::API.get("/3/find/#{imdb_id}", query: options)['movie_results'].first
  return TMDB::Movie.new(result)
end


69
70
71
72
73
74
75
76
77
# File 'lib/tmdb/movie.rb', line 69

def self.popular
  options = { api_key: TMDB::API.api_key }
  results = TMDB::API.get("/3/movie/popular", query: options)['results']
  movies = []
  results.each do |result|
    movies.push(TMDB::Movie.new(result))
  end     
  return movies
end

.search(title, options = {}) ⇒ Object



29
30
31
32
33
34
35
36
37
38
39
40
# File 'lib/tmdb/movie.rb', line 29

def self.search(title, options = {})
  # Accepted parameters:
  # :page, :include_adult (true / false), :year
  options.merge!(api_key: TMDB::API.api_key, 
                 query: title)
  results = TMDB::API.get("/3/search/movie", query: options)['results']
  movies = []
  results.each do |result|
    movies.push(TMDB::Movie.new(result))
  end
  return movies
end

Instance Method Details

#backdrop(size = 'original') ⇒ Object



18
19
20
21
22
23
24
25
26
27
# File 'lib/tmdb/movie.rb', line 18

def backdrop(size='original')
  # Backdrop Sizes: ["w300", "w780", "w1280", "original"]
  # Find latest list at TMDB::API.config.backdrop_sizes
  config = TMDB::API.config
  if self.backdrop_path
    config.images.base_url + size + self.backdrop_path
  else
    ''
  end
end

#poster(size = 'original') ⇒ Object



7
8
9
10
11
12
13
14
15
16
# File 'lib/tmdb/movie.rb', line 7

def poster(size='original')
  # Poster Sizes: ["w92", "w154", "w185", "w342", "w500", "w780", "original"]
  # Find latest list at TMDB::API.config.poster_sizes
  config = TMDB::API.config
  if self.poster_path
    config.images.base_url + size + self.poster_path
  else
    ''
  end
end