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
|