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 ADDED
@@ -0,0 +1,9 @@
1
+ Manifest
2
+ pkg
3
+ Gemfile.lock
4
+ *.swp
5
+ **/*.swp
6
+ *.gem
7
+ **/*.gem
8
+ *~
9
+ .rvmrc
data/.rspec ADDED
@@ -0,0 +1 @@
1
+ -c
data/Gemfile ADDED
@@ -0,0 +1,10 @@
1
+ source "http://rubygems.org"
2
+
3
+
4
+ gem 'json'
5
+ gem 'deepopenstruct'
6
+
7
+ gem 'ruby-debug19'
8
+ gem 'rspec'
9
+ gem 'guard'
10
+ gem 'guard-rspec'
data/Guardfile ADDED
@@ -0,0 +1,8 @@
1
+ # A sample Guardfile
2
+ # More info at https://github.com/guard/guard#readme
3
+
4
+ guard 'rspec', :version => 2 do
5
+ watch(%r{^spec/.+_spec\.rb$})
6
+ watch(%r{^lib/(.+)\.rb$})
7
+ end
8
+
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
- require_files = []
6
- require_files.concat Dir[File.join(File.dirname(__FILE__), 'tmdb-easy', '*.rb')].reverse!
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
- require_files.each do |file|
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
@@ -0,0 +1,3 @@
1
+ module TmdbEasy
2
+ VERSION = "0.1.5"
3
+ 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.0
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.000000000Z
13
- dependencies: []
14
- description: ! 'Gem '
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
- - lib/tmdb-easy/version.rb
22
- - lib/tmdb-easy/tmdb_movie.rb
23
- - lib/tmdb-easy/tmdb_base.rb
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
- homepage:
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: tmdb-easy
45
- rubygems_version: 1.8.11
101
+ rubyforge_project: tmdb_easy
102
+ rubygems_version: 1.8.24
46
103
  signing_key:
47
104
  specification_version: 3
48
- summary: Gem
105
+ summary: TMDB API made easy
49
106
  test_files: []
@@ -1,7 +0,0 @@
1
- module TmdbEasy
2
- class TmdbBase
3
- attr_accessor :api_key, :format_response, :language_default
4
-
5
- @@api_url = "http://api.themoviedb.org/2.1/"
6
- end
7
- end
@@ -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
@@ -1,8 +0,0 @@
1
- module TmdbEasy
2
- module Version
3
- MAJOR = 0
4
- MINOR = 1
5
- PATCH = 0
6
- STRING = "#{MAJOR}.#{MINOR}.#{PATCH}"
7
- end
8
- end