jduff-tmdb_party 0.0.2 → 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
data/.document ADDED
@@ -0,0 +1,5 @@
1
+ README.rdoc
2
+ lib/**/*.rb
3
+ bin/*
4
+ features/**/*.feature
5
+ LICENSE
data/.gitignore ADDED
@@ -0,0 +1,5 @@
1
+ *.sw?
2
+ .DS_Store
3
+ coverage
4
+ rdoc
5
+ pkg
data/VERSION.yml CHANGED
@@ -1,4 +1,4 @@
1
1
  ---
2
2
  :major: 0
3
- :minor: 0
4
- :patch: 2
3
+ :minor: 1
4
+ :patch: 0
data/lib/tmdb_party.rb CHANGED
@@ -24,7 +24,14 @@ module TMDBParty
24
24
  end
25
25
  end
26
26
 
27
- def imdb_lookup(id)
27
+ def imdb_lookup(imdb_id)
28
+ data = self.class.get('/Movie.imdbLookup', :query=>{:imdb_id=>imdb_id})
29
+ case data['results']['moviematches']['movie']
30
+ when String
31
+ return nil
32
+ when Hash
33
+ Movie.new(data['results']['moviematches']['movie'], self)
34
+ end
28
35
  end
29
36
 
30
37
  def get_info(id)
@@ -0,0 +1,8 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <results for="tt041827sdd9" xmlns:opensearch="http://a9.com/-/spec/opensearch/1.1/">
3
+ <opensearch:Query searchTerms="tt041827sdd9"/>
4
+ <opensearch:totalResults>0</opensearch:totalResults>
5
+ <moviematches>
6
+ <movie>Your query didn't return any results.</movie>
7
+ </moviematches>
8
+ </results>
@@ -0,0 +1,26 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <results for="tt0418279" xmlns:opensearch="http://a9.com/-/spec/opensearch/1.1/">
3
+ <opensearch:Query searchTerms="tt0418279"/>
4
+ <opensearch:totalResults>1</opensearch:totalResults>
5
+ <moviematches>
6
+ <movie>
7
+ <score>1.0</score>
8
+ <popularity>52</popularity>
9
+ <title>Transformers</title>
10
+ <alternative_title>The Transformers</alternative_title>
11
+ <type>movie</type>
12
+ <id>1858</id>
13
+ <imdb>tt0418279</imdb>
14
+ <url>http://www.themoviedb.org/movie/1858</url>
15
+ <short_overview>The Earth is caught in the middle of an intergalactic war between two races of robots, the heroic Autobots and the evil Decepticons, which are able to change into a variety of objects, including cars, trucks, planes and other technological creations.</short_overview>
16
+ <release>2007-07-04</release>
17
+ <poster size="original">http://images.themoviedb.org/posters/937/Transformers_3d7ecdab.jpg</poster>
18
+ <poster size="thumb">http://images.themoviedb.org/posters/937/Transformers_3d7ecdab_thumb.jpg</poster>
19
+ <poster size="mid">http://images.themoviedb.org/posters/937/Transformers_3d7ecdab_mid.jpg</poster>
20
+ <poster size="cover">http://images.themoviedb.org/posters/937/Transformers_3d7ecdab_cover.jpg</poster>
21
+ <backdrop size="original">http://images.themoviedb.org/backdrops/1394/tt0418279-1.jpg</backdrop>
22
+ <backdrop size="mid">http://images.themoviedb.org/backdrops/1394/tt0418279-1_poster.jpg</backdrop>
23
+ <backdrop size="thumb">http://images.themoviedb.org/backdrops/1394/tt0418279-1_thumb.jpg</backdrop>
24
+ </movie>
25
+ </moviematches>
26
+ </results>
data/test/test_helper.rb CHANGED
@@ -21,7 +21,7 @@ def tmdb_url(url)
21
21
  end
22
22
 
23
23
  def stub_get(url, filename, status=nil)
24
- options = {:string => fixture_file(filename)}
24
+ options = {:body => fixture_file(filename)}
25
25
  options.merge!({:status => status}) unless status.nil?
26
26
 
27
27
  FakeWeb.register_uri(:get, tmdb_url(url), options)
@@ -38,4 +38,38 @@ class TestTmdbParty < Test::Unit::TestCase
38
38
  category = transformers.categories.detect{|cat| cat.name == "Adventure Film"}
39
39
  assert_equal "http://www.themoviedb.org/encyclopedia/category/12", category.url
40
40
  end
41
+
42
+
43
+ test "finding transformers via imdb id" do
44
+ stub_get('/Movie.imdbLookup?api_key=key&imdb_id=tt0418279', 'imdb_search.xml')
45
+ stub_get('/Movie.getInfo?api_key=key&id=1858', 'transformers.xml')
46
+
47
+ result = @tmdb.imdb_lookup('tt0418279')
48
+
49
+ # check that the attributes are populated
50
+ assert_equal 52.0, result.popularity
51
+ assert_equal 1.0, result.score
52
+ assert_equal 1858, result.id
53
+ assert_equal 'tt0418279', result.imdb
54
+ assert_equal Date.new(2007, 7, 4), result.release
55
+ assert result.poster.first.is_a?(TMDBParty::Image)
56
+ assert result.backdrop.first.is_a?(TMDBParty::Image)
57
+
58
+ # how about some that are loaded lazily
59
+ assert_equal "http://www.transformersmovie.com/", result.homepage
60
+ assert_equal "http://www.youtube.com/watch?v=eduwcuq1Exg", result.trailer.url
61
+
62
+ assert_equal 9, result.categories.length
63
+
64
+ category = result.categories.detect{|cat| cat.name == "Adventure Film"}
65
+ assert_equal "http://www.themoviedb.org/encyclopedia/category/12", category.url
66
+ end
67
+
68
+ test "NOT finding transformers via imdb id" do
69
+ stub_get('/Movie.imdbLookup?api_key=key&imdb_id=tt0418279dd', 'imdb_no_results.xml')
70
+ result = @tmdb.imdb_lookup('tt0418279dd')
71
+ puts result.inspect
72
+ assert_nil result
73
+ end
74
+
41
75
  end
@@ -0,0 +1,65 @@
1
+ # -*- encoding: utf-8 -*-
2
+
3
+ Gem::Specification.new do |s|
4
+ s.name = %q{tmdb_party}
5
+ s.version = "0.1.0"
6
+
7
+ s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
8
+ s.authors = ["John Duff"]
9
+ s.date = %q{2009-08-21}
10
+ s.email = %q{duff.john@gmail.com}
11
+ s.extra_rdoc_files = [
12
+ "LICENSE",
13
+ "README.rdoc"
14
+ ]
15
+ s.files = [
16
+ ".document",
17
+ ".gitignore",
18
+ "LICENSE",
19
+ "README.rdoc",
20
+ "Rakefile",
21
+ "VERSION.yml",
22
+ "lib/tmdb_party.rb",
23
+ "lib/tmdb_party/attributes.rb",
24
+ "lib/tmdb_party/category.rb",
25
+ "lib/tmdb_party/core_extensions.rb",
26
+ "lib/tmdb_party/image.rb",
27
+ "lib/tmdb_party/movie.rb",
28
+ "lib/tmdb_party/video.rb",
29
+ "test/fixtures/imdb_no_results.xml",
30
+ "test/fixtures/imdb_search.xml",
31
+ "test/fixtures/search.xml",
32
+ "test/fixtures/transformers.xml",
33
+ "test/test_helper.rb",
34
+ "test/tmdb_party/test_tmdb_party.rb",
35
+ "tmdb_party.gemspec"
36
+ ]
37
+ s.homepage = %q{http://github.com/jduff/tmdb_party}
38
+ s.rdoc_options = ["--charset=UTF-8"]
39
+ s.require_paths = ["lib"]
40
+ s.rubygems_version = %q{1.3.3}
41
+ s.summary = %q{TODO}
42
+ s.test_files = [
43
+ "test/test_helper.rb",
44
+ "test/tmdb_party/test_tmdb_party.rb"
45
+ ]
46
+
47
+ if s.respond_to? :specification_version then
48
+ current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
49
+ s.specification_version = 3
50
+
51
+ if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then
52
+ s.add_runtime_dependency(%q<httparty>, [">= 0.4.3"])
53
+ s.add_development_dependency(%q<fakeweb>, [">= 0"])
54
+ s.add_development_dependency(%q<context>, [">= 0"])
55
+ else
56
+ s.add_dependency(%q<httparty>, [">= 0.4.3"])
57
+ s.add_dependency(%q<fakeweb>, [">= 0"])
58
+ s.add_dependency(%q<context>, [">= 0"])
59
+ end
60
+ else
61
+ s.add_dependency(%q<httparty>, [">= 0.4.3"])
62
+ s.add_dependency(%q<fakeweb>, [">= 0"])
63
+ s.add_dependency(%q<context>, [">= 0"])
64
+ end
65
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: jduff-tmdb_party
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - John Duff
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2009-05-24 00:00:00 -07:00
12
+ date: 2009-08-21 00:00:00 -07:00
13
13
  default_executable:
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
@@ -52,6 +52,8 @@ extra_rdoc_files:
52
52
  - LICENSE
53
53
  - README.rdoc
54
54
  files:
55
+ - .document
56
+ - .gitignore
55
57
  - LICENSE
56
58
  - README.rdoc
57
59
  - Rakefile
@@ -63,12 +65,16 @@ files:
63
65
  - lib/tmdb_party/image.rb
64
66
  - lib/tmdb_party/movie.rb
65
67
  - lib/tmdb_party/video.rb
68
+ - test/fixtures/imdb_no_results.xml
69
+ - test/fixtures/imdb_search.xml
66
70
  - test/fixtures/search.xml
67
71
  - test/fixtures/transformers.xml
68
72
  - test/test_helper.rb
69
73
  - test/tmdb_party/test_tmdb_party.rb
70
- has_rdoc: true
74
+ - tmdb_party.gemspec
75
+ has_rdoc: false
71
76
  homepage: http://github.com/jduff/tmdb_party
77
+ licenses:
72
78
  post_install_message:
73
79
  rdoc_options:
74
80
  - --charset=UTF-8
@@ -89,9 +95,9 @@ required_rubygems_version: !ruby/object:Gem::Requirement
89
95
  requirements: []
90
96
 
91
97
  rubyforge_project:
92
- rubygems_version: 1.2.0
98
+ rubygems_version: 1.3.5
93
99
  signing_key:
94
- specification_version: 2
100
+ specification_version: 3
95
101
  summary: TODO
96
102
  test_files:
97
103
  - test/test_helper.rb