tmdb-easy 0.1.0 → 0.1.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/.gitignore +9 -0
- data/.rspec +1 -0
- data/Gemfile +10 -0
- data/Guardfile +8 -0
- data/Rakefile +1 -0
- data/api_examples_genre.rb +11 -0
- data/api_examples_search.rb +13 -0
- data/lib/tmdb_easy.rb +13 -4
- data/lib/tmdb_easy/base.rb +24 -0
- data/lib/tmdb_easy/genre.rb +17 -0
- data/lib/tmdb_easy/search.rb +24 -0
- data/lib/tmdb_easy/version.rb +3 -0
- data/tmdb_easy.gemspec +25 -0
- metadata +68 -11
- data/lib/tmdb-easy/tmdb_base.rb +0 -7
- data/lib/tmdb-easy/tmdb_movie.rb +0 -11
- data/lib/tmdb-easy/version.rb +0 -8
data/.gitignore
ADDED
data/.rspec
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
-c
|
data/Gemfile
ADDED
data/Guardfile
ADDED
data/Rakefile
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
require "bundler/gem_tasks"
|
@@ -0,0 +1,11 @@
|
|
1
|
+
require "./lib/tmdb_easy"
|
2
|
+
|
3
|
+
TmdbEasy::Base.api_key = "f89492d116074ec340563aad0fcea52c"
|
4
|
+
genre_list = TmdbEasy::Genre.list
|
5
|
+
movies_per_genre = TmdbEasy::Genre.genre_movies 18
|
6
|
+
|
7
|
+
puts genre_list
|
8
|
+
puts "---------------------------------------------------------------------------"
|
9
|
+
puts movies_per_genre
|
10
|
+
puts "---------------------------------------------------------------------------"
|
11
|
+
|
@@ -0,0 +1,13 @@
|
|
1
|
+
require "./lib/tmdb_easy"
|
2
|
+
|
3
|
+
TmdbEasy::Base.api_key = "f89492d116074ec340563aad0fcea52c"
|
4
|
+
movies = TmdbEasy::Search.movie "transformer"
|
5
|
+
people = TmdbEasy::Search.person "bruno"
|
6
|
+
companies = TmdbEasy::Search.company "net"
|
7
|
+
|
8
|
+
puts movies
|
9
|
+
puts "---------------------------------------------------------------------------"
|
10
|
+
puts people
|
11
|
+
puts "---------------------------------------------------------------------------"
|
12
|
+
puts companies
|
13
|
+
|
data/lib/tmdb_easy.rb
CHANGED
@@ -1,10 +1,19 @@
|
|
1
|
+
require 'rubygems'
|
2
|
+
require 'bundler'
|
3
|
+
|
4
|
+
Bundler.require
|
5
|
+
|
1
6
|
require 'net/http'
|
2
7
|
require 'uri'
|
3
8
|
require 'json'
|
9
|
+
require 'deepopenstruct'
|
4
10
|
|
5
|
-
|
6
|
-
|
11
|
+
#Load files in the correct order, not in alphabetical natural order. :)
|
12
|
+
required_files = ['base.rb',
|
13
|
+
'search.rb',
|
14
|
+
'genre.rb']
|
7
15
|
|
8
|
-
|
9
|
-
require File.expand_path(file)
|
16
|
+
required_files.each do |file|
|
17
|
+
require File.expand_path(File.join(File.dirname(__FILE__), 'tmdb_easy', file))
|
10
18
|
end
|
19
|
+
|
@@ -0,0 +1,24 @@
|
|
1
|
+
module TmdbEasy
|
2
|
+
class Base
|
3
|
+
@@api_key = ""
|
4
|
+
|
5
|
+
def self.api_key
|
6
|
+
@@api_key
|
7
|
+
end
|
8
|
+
|
9
|
+
def self.api_key=(api_key)
|
10
|
+
@@api_key = api_key
|
11
|
+
end
|
12
|
+
|
13
|
+
def self.base_api_url
|
14
|
+
'http://api.themoviedb.org/3/'
|
15
|
+
end
|
16
|
+
|
17
|
+
protected
|
18
|
+
def self.api_response(action_request)
|
19
|
+
uri = URI.parse(action_request)
|
20
|
+
tmdb_response = Net::HTTP.get_response(uri).body
|
21
|
+
json_response = JSON(tmdb_response)
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
@@ -0,0 +1,17 @@
|
|
1
|
+
module TmdbEasy
|
2
|
+
class Genre < Base
|
3
|
+
def self.list(lang = 'en')
|
4
|
+
action_request = base_api_url + "genre/list?api_key=#{@@api_key}&language=#{lang}"
|
5
|
+
|
6
|
+
response = api_response(action_request)
|
7
|
+
genre_list = DeepOpenStruct.load(response).genres
|
8
|
+
end
|
9
|
+
|
10
|
+
def self.genre_movies(genre_id, lang = 'en')
|
11
|
+
action_request = base_api_url + "genre/#{genre_id}/movies?api_key=#{@@api_key}&language=#{lang}"
|
12
|
+
|
13
|
+
response = api_response(action_request)
|
14
|
+
movies_per_genre = DeepOpenStruct.load(response).results
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
@@ -0,0 +1,24 @@
|
|
1
|
+
module TmdbEasy
|
2
|
+
class Search < Base
|
3
|
+
def self.movie(keyword, lang = 'en', adult = false)
|
4
|
+
action_request = base_api_url + "search/movie?api_key=#{@@api_key}&query=#{keyword}&language=#{lang}&include_adult=#{adult}"
|
5
|
+
|
6
|
+
response = api_response(action_request)
|
7
|
+
movies = DeepOpenStruct.load(response).results
|
8
|
+
end
|
9
|
+
|
10
|
+
def self.person(keyword, adult = false)
|
11
|
+
action_request = base_api_url + "search/person?api_key=#{@@api_key}&query=#{keyword}&include_adult=#{adult}"
|
12
|
+
|
13
|
+
response = api_response(action_request)
|
14
|
+
people = DeepOpenStruct.load(response).results
|
15
|
+
end
|
16
|
+
|
17
|
+
def self.company(keyword)
|
18
|
+
action_request = base_api_url + "search/company?api_key=#{@@api_key}&query=#{keyword}"
|
19
|
+
|
20
|
+
response = api_response(action_request)
|
21
|
+
companies = DeepOpenStruct.load(response).results
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
data/tmdb_easy.gemspec
ADDED
@@ -0,0 +1,25 @@
|
|
1
|
+
# -*- encoding: utf-8 -*-
|
2
|
+
$:.push File.expand_path("../lib", __FILE__)
|
3
|
+
require "tmdb_easy/version"
|
4
|
+
|
5
|
+
Gem::Specification.new do |s|
|
6
|
+
s.name = "tmdb-easy"
|
7
|
+
s.version = TmdbEasy::VERSION
|
8
|
+
s.date = %q{2011-11-28}
|
9
|
+
s.authors = ["Bruno Henrique - Garu"]
|
10
|
+
s.email = ["squall.bruno@gmail.com"]
|
11
|
+
s.homepage = "https://github.com/brunohenrique/tmdb-easy"
|
12
|
+
s.summary = %q{TMDB API made easy}
|
13
|
+
s.description = %q{Ruby bindings to TMDB API}
|
14
|
+
|
15
|
+
s.rubyforge_project = %q{tmdb_easy}
|
16
|
+
|
17
|
+
s.files = `git ls-files`.split("\n")
|
18
|
+
s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
|
19
|
+
s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
|
20
|
+
s.require_paths = ["lib"]
|
21
|
+
|
22
|
+
s.add_development_dependency('rake')
|
23
|
+
s.add_development_dependency('json')
|
24
|
+
s.add_development_dependency('deepopenstruct')
|
25
|
+
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: tmdb-easy
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.5
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,20 +9,77 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2011-11-28 00:00:00.
|
13
|
-
dependencies:
|
14
|
-
|
12
|
+
date: 2011-11-28 00:00:00.000000000 Z
|
13
|
+
dependencies:
|
14
|
+
- !ruby/object:Gem::Dependency
|
15
|
+
name: rake
|
16
|
+
requirement: !ruby/object:Gem::Requirement
|
17
|
+
none: false
|
18
|
+
requirements:
|
19
|
+
- - ! '>='
|
20
|
+
- !ruby/object:Gem::Version
|
21
|
+
version: '0'
|
22
|
+
type: :development
|
23
|
+
prerelease: false
|
24
|
+
version_requirements: !ruby/object:Gem::Requirement
|
25
|
+
none: false
|
26
|
+
requirements:
|
27
|
+
- - ! '>='
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
version: '0'
|
30
|
+
- !ruby/object:Gem::Dependency
|
31
|
+
name: json
|
32
|
+
requirement: !ruby/object:Gem::Requirement
|
33
|
+
none: false
|
34
|
+
requirements:
|
35
|
+
- - ! '>='
|
36
|
+
- !ruby/object:Gem::Version
|
37
|
+
version: '0'
|
38
|
+
type: :development
|
39
|
+
prerelease: false
|
40
|
+
version_requirements: !ruby/object:Gem::Requirement
|
41
|
+
none: false
|
42
|
+
requirements:
|
43
|
+
- - ! '>='
|
44
|
+
- !ruby/object:Gem::Version
|
45
|
+
version: '0'
|
46
|
+
- !ruby/object:Gem::Dependency
|
47
|
+
name: deepopenstruct
|
48
|
+
requirement: !ruby/object:Gem::Requirement
|
49
|
+
none: false
|
50
|
+
requirements:
|
51
|
+
- - ! '>='
|
52
|
+
- !ruby/object:Gem::Version
|
53
|
+
version: '0'
|
54
|
+
type: :development
|
55
|
+
prerelease: false
|
56
|
+
version_requirements: !ruby/object:Gem::Requirement
|
57
|
+
none: false
|
58
|
+
requirements:
|
59
|
+
- - ! '>='
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '0'
|
62
|
+
description: Ruby bindings to TMDB API
|
15
63
|
email:
|
16
64
|
- squall.bruno@gmail.com
|
17
65
|
executables: []
|
18
66
|
extensions: []
|
19
67
|
extra_rdoc_files: []
|
20
68
|
files:
|
21
|
-
-
|
22
|
-
-
|
23
|
-
-
|
69
|
+
- .gitignore
|
70
|
+
- .rspec
|
71
|
+
- Gemfile
|
72
|
+
- Guardfile
|
73
|
+
- Rakefile
|
74
|
+
- api_examples_genre.rb
|
75
|
+
- api_examples_search.rb
|
24
76
|
- lib/tmdb_easy.rb
|
25
|
-
|
77
|
+
- lib/tmdb_easy/base.rb
|
78
|
+
- lib/tmdb_easy/genre.rb
|
79
|
+
- lib/tmdb_easy/search.rb
|
80
|
+
- lib/tmdb_easy/version.rb
|
81
|
+
- tmdb_easy.gemspec
|
82
|
+
homepage: https://github.com/brunohenrique/tmdb-easy
|
26
83
|
licenses: []
|
27
84
|
post_install_message:
|
28
85
|
rdoc_options: []
|
@@ -41,9 +98,9 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
41
98
|
- !ruby/object:Gem::Version
|
42
99
|
version: '0'
|
43
100
|
requirements: []
|
44
|
-
rubyforge_project:
|
45
|
-
rubygems_version: 1.8.
|
101
|
+
rubyforge_project: tmdb_easy
|
102
|
+
rubygems_version: 1.8.24
|
46
103
|
signing_key:
|
47
104
|
specification_version: 3
|
48
|
-
summary:
|
105
|
+
summary: TMDB API made easy
|
49
106
|
test_files: []
|
data/lib/tmdb-easy/tmdb_base.rb
DELETED
data/lib/tmdb-easy/tmdb_movie.rb
DELETED
@@ -1,11 +0,0 @@
|
|
1
|
-
module TmdbEasy
|
2
|
-
class TmdbMovie < TmdbBase
|
3
|
-
def movie_search(keyword, lang = "en", response = "json")
|
4
|
-
method_request = @@api_url + "Movie.search/#{lang}/#{response}/#{self.api_key}/#{keyword}"
|
5
|
-
|
6
|
-
uri = URI.parse(method_request)
|
7
|
-
response = Net::HTTP.get_response(uri).body
|
8
|
-
@json_response = response.to_json
|
9
|
-
end
|
10
|
-
end
|
11
|
-
end
|