ruby-tmdb 0.1.0 → 0.1.1
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/README.rdoc +3 -0
- data/Rakefile +1 -0
- data/VERSION +1 -1
- data/lib/ruby-tmdb/tmdb.rb +33 -5
- data/lib/ruby-tmdb/tmdb_cast.rb +8 -40
- data/lib/ruby-tmdb/tmdb_movie.rb +9 -45
- data/ruby-tmdb.gemspec +7 -9
- data/test/test_helper.rb +5 -2
- data/test/unit/tmdb_cast_test.rb +13 -6
- data/test/unit/tmdb_movie_test.rb +14 -7
- data/test/unit/tmdb_test.rb +38 -9
- metadata +18 -10
- data/.gitignore +0 -1
- data/test/setup/setup_api_key.rb +0 -3
- data/test/unit/test_direct_require.rb +0 -25
data/README.rdoc
CHANGED
@@ -26,6 +26,9 @@ ruby-tmdb is an ActiveRecord-style API wrapper for {TheMovieDB.org}[http://www.t
|
|
26
26
|
@movie.posters.first.data
|
27
27
|
# => [binary blob representing JPEG]
|
28
28
|
|
29
|
+
@movie.cast.first.bio.movies
|
30
|
+
# => [<TmdbMovie>,<TmdbMovie>,<TmdbMovie>,<TmdbMovie>]
|
31
|
+
|
29
32
|
@actor = TmdbCast.find(:name => "Brad Pitt", :limit => 1)
|
30
33
|
# => <TmdbCast>
|
31
34
|
|
data/Rakefile
CHANGED
@@ -16,6 +16,7 @@ begin
|
|
16
16
|
gemspec.authors = ["Aaron Gough"]
|
17
17
|
gemspec.rdoc_options << '--line-numbers' << '--inline-source'
|
18
18
|
gemspec.extra_rdoc_files = ['README.rdoc', 'MIT-LICENSE']
|
19
|
+
gemspec.add_dependency "deepopenstruct"
|
19
20
|
gemspec.add_development_dependency "webmock"
|
20
21
|
end
|
21
22
|
rescue LoadError
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.1.
|
1
|
+
0.1.1
|
data/lib/ruby-tmdb/tmdb.rb
CHANGED
@@ -4,6 +4,7 @@ class Tmdb
|
|
4
4
|
require 'uri'
|
5
5
|
require 'cgi'
|
6
6
|
require 'yaml'
|
7
|
+
require 'deepopenstruct'
|
7
8
|
|
8
9
|
@@api_key = ""
|
9
10
|
@@api_response = {}
|
@@ -21,12 +22,8 @@ class Tmdb
|
|
21
22
|
end
|
22
23
|
|
23
24
|
def self.api_call(method, data, language = "en")
|
24
|
-
raise ArgumentError, "Tmdb.api_key must be set before using the API" if(Tmdb.api_key.nil? || Tmdb.api_key.empty?)
|
25
25
|
url = Tmdb.base_api_url + method + '/' + language + '/yaml/' + Tmdb.api_key + '/' + CGI::escape(data.to_s)
|
26
|
-
|
27
|
-
response = @@api_response[url] ||= begin
|
28
|
-
Tmdb.get_url(url)
|
29
|
-
end
|
26
|
+
response = Tmdb.get_url(url)
|
30
27
|
if(response.code.to_i != 200)
|
31
28
|
return nil
|
32
29
|
end
|
@@ -55,4 +52,35 @@ class Tmdb
|
|
55
52
|
end
|
56
53
|
end
|
57
54
|
|
55
|
+
def self.data_to_object(data)
|
56
|
+
object = DeepOpenStruct.load(data)
|
57
|
+
object.raw_data = data
|
58
|
+
["posters", "backdrops", "profile"].each do |image_array_name|
|
59
|
+
if(object.respond_to?(image_array_name))
|
60
|
+
image_array = object.send(image_array_name)
|
61
|
+
image_array.each_index do |x|
|
62
|
+
image_array[x] = image_array[x].image
|
63
|
+
image_array[x].instance_eval <<-EOD
|
64
|
+
def self.data
|
65
|
+
return Tmdb.get_url(self.url).body
|
66
|
+
end
|
67
|
+
EOD
|
68
|
+
end
|
69
|
+
end
|
70
|
+
if(object.profile)
|
71
|
+
object.profiles = object.profile
|
72
|
+
end
|
73
|
+
end
|
74
|
+
unless(object.cast.nil?)
|
75
|
+
object.cast.each_index do |x|
|
76
|
+
object.cast[x].instance_eval <<-EOD
|
77
|
+
def self.bio
|
78
|
+
return TmdbCast.find(:id => self.id, :limit => 1)
|
79
|
+
end
|
80
|
+
EOD
|
81
|
+
end
|
82
|
+
end
|
83
|
+
return object
|
84
|
+
end
|
85
|
+
|
58
86
|
end
|
data/lib/ruby-tmdb/tmdb_cast.rb
CHANGED
@@ -1,6 +1,10 @@
|
|
1
1
|
class TmdbCast
|
2
2
|
|
3
3
|
def self.find(options)
|
4
|
+
options = {
|
5
|
+
:expand_results => true
|
6
|
+
}.merge(options)
|
7
|
+
|
4
8
|
raise ArgumentError, "At least one of: id, name, should be supplied" if(options[:id].nil? && options[:name].nil?)
|
5
9
|
|
6
10
|
results = []
|
@@ -18,7 +22,7 @@ class TmdbCast
|
|
18
22
|
results = results.slice(0, options[:limit])
|
19
23
|
end
|
20
24
|
|
21
|
-
results.map!{|c| TmdbCast.new(c) }
|
25
|
+
results.map!{|c| TmdbCast.new(c, options[:expand_results]) }
|
22
26
|
|
23
27
|
if(results.length == 1)
|
24
28
|
return results[0]
|
@@ -27,45 +31,9 @@ class TmdbCast
|
|
27
31
|
end
|
28
32
|
end
|
29
33
|
|
30
|
-
def
|
31
|
-
|
32
|
-
|
33
|
-
@raw_data["profiles"] = @raw_data["profile"]
|
34
|
-
@raw_data.delete("profile")
|
35
|
-
@raw_data.each_pair do |key, value|
|
36
|
-
instance_eval <<-EOD
|
37
|
-
def #{key}
|
38
|
-
@raw_data["#{key}"]
|
39
|
-
end
|
40
|
-
EOD
|
41
|
-
if(value.is_a?(Array))
|
42
|
-
value.each_index do |x|
|
43
|
-
if(value[x].is_a?(Hash) && value[x].length == 1)
|
44
|
-
if(value[x].keys[0] == "image")
|
45
|
-
value[x][value[x].keys[0]].instance_eval <<-EOD
|
46
|
-
def self.data
|
47
|
-
Tmdb.get_url(self["url"]).body
|
48
|
-
end
|
49
|
-
EOD
|
50
|
-
end
|
51
|
-
value[x] = value[x][value[x].keys[0]]
|
52
|
-
end
|
53
|
-
if(value[x].is_a?(Hash))
|
54
|
-
value[x].each_pair do |key2, value2|
|
55
|
-
value[x].instance_eval <<-EOD
|
56
|
-
def self.#{key2}
|
57
|
-
self["#{key2}"]
|
58
|
-
end
|
59
|
-
EOD
|
60
|
-
end
|
61
|
-
end
|
62
|
-
end
|
63
|
-
end
|
64
|
-
end
|
65
|
-
end
|
66
|
-
|
67
|
-
def raw_data
|
68
|
-
@raw_data
|
34
|
+
def self.new(raw_data, expand_results = false)
|
35
|
+
raw_data = Tmdb.api_call('Person.getInfo', raw_data["id"]).first
|
36
|
+
return Tmdb.data_to_object(raw_data)
|
69
37
|
end
|
70
38
|
|
71
39
|
def ==(other)
|
data/lib/ruby-tmdb/tmdb_movie.rb
CHANGED
@@ -1,6 +1,10 @@
|
|
1
1
|
class TmdbMovie
|
2
2
|
|
3
3
|
def self.find(options)
|
4
|
+
options = {
|
5
|
+
:expand_results => true
|
6
|
+
}.merge(options)
|
7
|
+
|
4
8
|
raise ArgumentError, "At least one of: id, title, imdb should be supplied" if(options[:id].nil? && options[:imdb].nil? && options[:title].nil?)
|
5
9
|
|
6
10
|
results = []
|
@@ -9,6 +13,7 @@ class TmdbMovie
|
|
9
13
|
end
|
10
14
|
unless(options[:imdb].nil? || options[:imdb].to_s.empty?)
|
11
15
|
results << Tmdb.api_call("Movie.imdbLookup", options[:imdb])
|
16
|
+
options[:expand_results] = true
|
12
17
|
end
|
13
18
|
unless(options[:title].nil? || options[:title].to_s.empty?)
|
14
19
|
results << Tmdb.api_call("Movie.search", options[:title])
|
@@ -21,7 +26,7 @@ class TmdbMovie
|
|
21
26
|
results = results.slice(0, options[:limit])
|
22
27
|
end
|
23
28
|
|
24
|
-
results.map!{|m| TmdbMovie.new(m) }
|
29
|
+
results.map!{|m| TmdbMovie.new(m, options[:expand_results]) }
|
25
30
|
|
26
31
|
if(results.length == 1)
|
27
32
|
return results[0]
|
@@ -30,50 +35,9 @@ class TmdbMovie
|
|
30
35
|
end
|
31
36
|
end
|
32
37
|
|
33
|
-
def
|
34
|
-
|
35
|
-
|
36
|
-
@raw_data.each_pair do |key, value|
|
37
|
-
instance_eval <<-EOD
|
38
|
-
def #{key}
|
39
|
-
@raw_data["#{key}"]
|
40
|
-
end
|
41
|
-
EOD
|
42
|
-
if(value.is_a?(Array))
|
43
|
-
value.each_index do |x|
|
44
|
-
if(value[x].is_a?(Hash) && value[x].length == 1)
|
45
|
-
if(value[x].keys[0] == "image")
|
46
|
-
value[x][value[x].keys[0]].instance_eval <<-EOD
|
47
|
-
def self.data
|
48
|
-
Tmdb.get_url(self["url"]).body
|
49
|
-
end
|
50
|
-
EOD
|
51
|
-
end
|
52
|
-
value[x] = value[x][value[x].keys[0]]
|
53
|
-
end
|
54
|
-
if(value[x].is_a?(Hash))
|
55
|
-
value[x].each_pair do |key2, value2|
|
56
|
-
value[x].instance_eval <<-EOD
|
57
|
-
def self.#{key2}
|
58
|
-
self["#{key2}"]
|
59
|
-
end
|
60
|
-
EOD
|
61
|
-
if(key == "cast")
|
62
|
-
value[x].instance_eval <<-EOD
|
63
|
-
def self.bio
|
64
|
-
TmdbCast.find(:id => #{value[x]["id"]}, :limit => 1)
|
65
|
-
end
|
66
|
-
EOD
|
67
|
-
end
|
68
|
-
end
|
69
|
-
end
|
70
|
-
end
|
71
|
-
end
|
72
|
-
end
|
73
|
-
end
|
74
|
-
|
75
|
-
def raw_data
|
76
|
-
@raw_data
|
38
|
+
def self.new(raw_data, expand_results = false)
|
39
|
+
raw_data = Tmdb.api_call('Movie.getInfo', raw_data["id"]).first if(expand_results)
|
40
|
+
return Tmdb.data_to_object(raw_data)
|
77
41
|
end
|
78
42
|
|
79
43
|
def ==(other)
|
data/ruby-tmdb.gemspec
CHANGED
@@ -5,11 +5,11 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = %q{ruby-tmdb}
|
8
|
-
s.version = "0.1.
|
8
|
+
s.version = "0.1.1"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["Aaron Gough"]
|
12
|
-
s.date = %q{2010-
|
12
|
+
s.date = %q{2010-08-19}
|
13
13
|
s.description = %q{An ActiveRecord-style API wrapper for TheMovieDB.org}
|
14
14
|
s.email = %q{aaron@aarongough.com}
|
15
15
|
s.extra_rdoc_files = [
|
@@ -17,8 +17,7 @@ Gem::Specification.new do |s|
|
|
17
17
|
"README.rdoc"
|
18
18
|
]
|
19
19
|
s.files = [
|
20
|
-
"
|
21
|
-
"MIT-LICENSE",
|
20
|
+
"MIT-LICENSE",
|
22
21
|
"README.rdoc",
|
23
22
|
"Rakefile",
|
24
23
|
"VERSION",
|
@@ -37,11 +36,9 @@ Gem::Specification.new do |s|
|
|
37
36
|
"test/fixtures/person_get_info.txt",
|
38
37
|
"test/fixtures/person_search.txt",
|
39
38
|
"test/setup/.gitignore",
|
40
|
-
"test/setup/setup_api_key.rb",
|
41
39
|
"test/setup/test_unit_extensions.rb",
|
42
40
|
"test/setup/url_mocks.rb",
|
43
41
|
"test/test_helper.rb",
|
44
|
-
"test/unit/test_direct_require.rb",
|
45
42
|
"test/unit/tmdb_cast_test.rb",
|
46
43
|
"test/unit/tmdb_movie_test.rb",
|
47
44
|
"test/unit/tmdb_test.rb"
|
@@ -52,11 +49,9 @@ Gem::Specification.new do |s|
|
|
52
49
|
s.rubygems_version = %q{1.3.7}
|
53
50
|
s.summary = %q{An ActiveRecord-style API wrapper for TheMovieDB.org}
|
54
51
|
s.test_files = [
|
55
|
-
"test/setup/
|
56
|
-
"test/setup/test_unit_extensions.rb",
|
52
|
+
"test/setup/test_unit_extensions.rb",
|
57
53
|
"test/setup/url_mocks.rb",
|
58
54
|
"test/test_helper.rb",
|
59
|
-
"test/unit/test_direct_require.rb",
|
60
55
|
"test/unit/tmdb_cast_test.rb",
|
61
56
|
"test/unit/tmdb_movie_test.rb",
|
62
57
|
"test/unit/tmdb_test.rb"
|
@@ -67,11 +62,14 @@ Gem::Specification.new do |s|
|
|
67
62
|
s.specification_version = 3
|
68
63
|
|
69
64
|
if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
|
65
|
+
s.add_runtime_dependency(%q<deepopenstruct>, [">= 0"])
|
70
66
|
s.add_development_dependency(%q<webmock>, [">= 0"])
|
71
67
|
else
|
68
|
+
s.add_dependency(%q<deepopenstruct>, [">= 0"])
|
72
69
|
s.add_dependency(%q<webmock>, [">= 0"])
|
73
70
|
end
|
74
71
|
else
|
72
|
+
s.add_dependency(%q<deepopenstruct>, [">= 0"])
|
75
73
|
s.add_dependency(%q<webmock>, [">= 0"])
|
76
74
|
end
|
77
75
|
end
|
data/test/test_helper.rb
CHANGED
@@ -2,6 +2,8 @@ TEST_LIVE_API = false
|
|
2
2
|
|
3
3
|
require 'rubygems'
|
4
4
|
require 'test/unit'
|
5
|
+
require 'yaml'
|
6
|
+
require 'net/http'
|
5
7
|
|
6
8
|
unless(TEST_LIVE_API)
|
7
9
|
require 'webmock/test_unit'
|
@@ -16,5 +18,6 @@ require_files.each do |file|
|
|
16
18
|
require File.expand_path(file)
|
17
19
|
end
|
18
20
|
|
19
|
-
|
20
|
-
|
21
|
+
File.open(File.join(File.dirname(__FILE__), 'setup', 'tmdb_api_key.txt')) do |file|
|
22
|
+
Tmdb.api_key = file.read
|
23
|
+
end
|
data/test/unit/tmdb_cast_test.rb
CHANGED
@@ -6,6 +6,13 @@ class TmdbCastTest < Test::Unit::TestCase
|
|
6
6
|
register_api_url_stubs
|
7
7
|
end
|
8
8
|
|
9
|
+
test "cast data should be able to be dumped and re-loaded" do
|
10
|
+
assert_nothing_raised do
|
11
|
+
cast = TmdbCast.find(:id => 287)
|
12
|
+
TmdbCast.new(cast.raw_data)
|
13
|
+
end
|
14
|
+
end
|
15
|
+
|
9
16
|
test "find by id should return full cast data" do
|
10
17
|
cast = TmdbCast.find(:id => 287)
|
11
18
|
assert_cast_methodized(cast, 287)
|
@@ -17,8 +24,8 @@ class TmdbCastTest < Test::Unit::TestCase
|
|
17
24
|
assert_equal cast1, cast2
|
18
25
|
end
|
19
26
|
|
20
|
-
test "find by name should return full cast data" do
|
21
|
-
cast = TmdbCast.find(:name => "Brad Pitt").first
|
27
|
+
test "find by name should return full cast data when :expand_results = true" do
|
28
|
+
cast = TmdbCast.find(:name => "Brad Pitt", :expand_results => true).first
|
22
29
|
assert_cast_methodized(cast, 287)
|
23
30
|
end
|
24
31
|
|
@@ -29,14 +36,14 @@ class TmdbCastTest < Test::Unit::TestCase
|
|
29
36
|
end
|
30
37
|
|
31
38
|
test "find by id should return a single cast member" do
|
32
|
-
assert_kind_of
|
39
|
+
assert_kind_of OpenStruct, TmdbCast.find(:id => 287)
|
33
40
|
end
|
34
41
|
|
35
42
|
test "find by name should return an array of cast members" do
|
36
43
|
cast_members = TmdbCast.find(:name => "vince")
|
37
44
|
assert_kind_of Array, cast_members
|
38
45
|
cast_members.each do |actor|
|
39
|
-
assert_kind_of
|
46
|
+
assert_kind_of OpenStruct, actor
|
40
47
|
end
|
41
48
|
end
|
42
49
|
|
@@ -58,7 +65,7 @@ class TmdbCastTest < Test::Unit::TestCase
|
|
58
65
|
|
59
66
|
test "should only return a single item if limit=1" do
|
60
67
|
actor = TmdbCast.find(:name => "Vince", :limit => 1)
|
61
|
-
assert_kind_of
|
68
|
+
assert_kind_of OpenStruct, actor
|
62
69
|
end
|
63
70
|
|
64
71
|
test "should return X items if limit=X" do
|
@@ -67,7 +74,7 @@ class TmdbCastTest < Test::Unit::TestCase
|
|
67
74
|
assert_kind_of Array, actors
|
68
75
|
assert_equal x, actors.length
|
69
76
|
actors.each do |actor|
|
70
|
-
assert_kind_of
|
77
|
+
assert_kind_of OpenStruct, actor
|
71
78
|
end
|
72
79
|
end
|
73
80
|
end
|
@@ -6,6 +6,13 @@ class TmdbMovieTest < Test::Unit::TestCase
|
|
6
6
|
register_api_url_stubs
|
7
7
|
end
|
8
8
|
|
9
|
+
test "movie should be able to be dumped and re-loaded" do
|
10
|
+
assert_nothing_raised do
|
11
|
+
movie = TmdbMovie.find(:id => 187)
|
12
|
+
TmdbMovie.new(movie.raw_data)
|
13
|
+
end
|
14
|
+
end
|
15
|
+
|
9
16
|
test "find by id should return the full movie data" do
|
10
17
|
movie = TmdbMovie.find(:id => 187)
|
11
18
|
assert_movie_methodized(movie, 187)
|
@@ -22,8 +29,8 @@ class TmdbMovieTest < Test::Unit::TestCase
|
|
22
29
|
assert_movie_methodized(movie, 187)
|
23
30
|
end
|
24
31
|
|
25
|
-
test "find by title should return the full movie data" do
|
26
|
-
movie = TmdbMovie.find(:title => "
|
32
|
+
test "find by title should return the full movie data when expand_results set to true" do
|
33
|
+
movie = TmdbMovie.find(:title => "Transformers: Revenge of the Fallen", :limit => 1, :expand_results => true)
|
27
34
|
assert_movie_methodized(movie, 187)
|
28
35
|
end
|
29
36
|
|
@@ -34,23 +41,23 @@ class TmdbMovieTest < Test::Unit::TestCase
|
|
34
41
|
end
|
35
42
|
|
36
43
|
test "find by id should return a single movie" do
|
37
|
-
assert_kind_of
|
44
|
+
assert_kind_of OpenStruct, TmdbMovie.find(:id => 187)
|
38
45
|
end
|
39
46
|
|
40
47
|
test "find by imdb should return a single movie" do
|
41
|
-
assert_kind_of
|
48
|
+
assert_kind_of OpenStruct, TmdbMovie.find(:imdb => "tt0401792")
|
42
49
|
end
|
43
50
|
|
44
51
|
test "find by title should return an array of movies" do
|
45
52
|
movies = TmdbMovie.find(:title => "Iron Man")
|
46
53
|
assert_kind_of Array, movies
|
47
54
|
movies.each do |movie|
|
48
|
-
assert_kind_of
|
55
|
+
assert_kind_of OpenStruct, movie
|
49
56
|
end
|
50
57
|
end
|
51
58
|
|
52
59
|
test "find by title with limit=1 should return a single movie" do
|
53
|
-
assert_kind_of
|
60
|
+
assert_kind_of OpenStruct, TmdbMovie.find(:title => "Iron Man", :limit => 1)
|
54
61
|
end
|
55
62
|
|
56
63
|
test "find by title with limit=X should return an array of X movies" do
|
@@ -59,7 +66,7 @@ class TmdbMovieTest < Test::Unit::TestCase
|
|
59
66
|
assert_kind_of Array, movies
|
60
67
|
assert_equal x, movies.length
|
61
68
|
movies.each do |movie|
|
62
|
-
assert_kind_of
|
69
|
+
assert_kind_of OpenStruct, movie
|
63
70
|
end
|
64
71
|
end
|
65
72
|
end
|
data/test/unit/tmdb_test.rb
CHANGED
@@ -28,15 +28,6 @@ class TmdbTest < Test::Unit::TestCase
|
|
28
28
|
assert_equal 404, test_response.code.to_i
|
29
29
|
end
|
30
30
|
|
31
|
-
test "api_call should raise exception if api_key is not set" do
|
32
|
-
old_api_key = Tmdb.api_key
|
33
|
-
Tmdb.api_key = ""
|
34
|
-
assert_raises ArgumentError do
|
35
|
-
Tmdb.api_call('Movie.search', 'Transformers')
|
36
|
-
end
|
37
|
-
Tmdb.api_key = old_api_key
|
38
|
-
end
|
39
|
-
|
40
31
|
test "should perform Movie.search API call and return array of results" do
|
41
32
|
movies = Tmdb.api_call('Movie.search', 'Transformers')
|
42
33
|
assert_kind_of Array, movies
|
@@ -116,5 +107,43 @@ class TmdbTest < Test::Unit::TestCase
|
|
116
107
|
person = Tmdb.api_call('Person.getInfo', 287)[0]
|
117
108
|
assert_not_nil person[person.keys[0]]
|
118
109
|
end
|
110
|
+
|
111
|
+
test "data_to_object should create object from nested data structures" do
|
112
|
+
test_data = {
|
113
|
+
:test1 => [
|
114
|
+
1,2,3,4
|
115
|
+
],
|
116
|
+
:test2 => 1
|
117
|
+
}
|
118
|
+
test_object = Tmdb.data_to_object(test_data)
|
119
|
+
assert_nothing_raised do
|
120
|
+
assert_equal [1,2,3,4], test_object.test1
|
121
|
+
assert_equal 1, test_object.test2
|
122
|
+
end
|
123
|
+
end
|
124
|
+
|
125
|
+
test "data_to_object should include raw_data method that returns original data" do
|
126
|
+
test_data = {
|
127
|
+
:test1 => [1,2,3]
|
128
|
+
}
|
129
|
+
test_object = Tmdb.data_to_object(test_data)
|
130
|
+
assert_equal test_object.raw_data, test_data
|
131
|
+
end
|
132
|
+
|
133
|
+
test "data_to_object should convert arrays containing images to nicer format" do
|
134
|
+
test_data = {
|
135
|
+
"backdrops" => [
|
136
|
+
{
|
137
|
+
"image" => {
|
138
|
+
:test => 1
|
139
|
+
}
|
140
|
+
}
|
141
|
+
]
|
142
|
+
}
|
143
|
+
test_object = Tmdb.data_to_object(test_data)
|
144
|
+
assert_nothing_raised do
|
145
|
+
assert_equal 1, test_object.backdrops[0].test
|
146
|
+
end
|
147
|
+
end
|
119
148
|
|
120
149
|
end
|
metadata
CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
|
|
5
5
|
segments:
|
6
6
|
- 0
|
7
7
|
- 1
|
8
|
-
-
|
9
|
-
version: 0.1.
|
8
|
+
- 1
|
9
|
+
version: 0.1.1
|
10
10
|
platform: ruby
|
11
11
|
authors:
|
12
12
|
- Aaron Gough
|
@@ -14,11 +14,11 @@ autorequire:
|
|
14
14
|
bindir: bin
|
15
15
|
cert_chain: []
|
16
16
|
|
17
|
-
date: 2010-
|
17
|
+
date: 2010-08-19 00:00:00 -04:00
|
18
18
|
default_executable:
|
19
19
|
dependencies:
|
20
20
|
- !ruby/object:Gem::Dependency
|
21
|
-
name:
|
21
|
+
name: deepopenstruct
|
22
22
|
prerelease: false
|
23
23
|
requirement: &id001 !ruby/object:Gem::Requirement
|
24
24
|
none: false
|
@@ -28,8 +28,21 @@ dependencies:
|
|
28
28
|
segments:
|
29
29
|
- 0
|
30
30
|
version: "0"
|
31
|
-
type: :
|
31
|
+
type: :runtime
|
32
32
|
version_requirements: *id001
|
33
|
+
- !ruby/object:Gem::Dependency
|
34
|
+
name: webmock
|
35
|
+
prerelease: false
|
36
|
+
requirement: &id002 !ruby/object:Gem::Requirement
|
37
|
+
none: false
|
38
|
+
requirements:
|
39
|
+
- - ">="
|
40
|
+
- !ruby/object:Gem::Version
|
41
|
+
segments:
|
42
|
+
- 0
|
43
|
+
version: "0"
|
44
|
+
type: :development
|
45
|
+
version_requirements: *id002
|
33
46
|
description: An ActiveRecord-style API wrapper for TheMovieDB.org
|
34
47
|
email: aaron@aarongough.com
|
35
48
|
executables: []
|
@@ -40,7 +53,6 @@ extra_rdoc_files:
|
|
40
53
|
- MIT-LICENSE
|
41
54
|
- README.rdoc
|
42
55
|
files:
|
43
|
-
- .gitignore
|
44
56
|
- MIT-LICENSE
|
45
57
|
- README.rdoc
|
46
58
|
- Rakefile
|
@@ -60,11 +72,9 @@ files:
|
|
60
72
|
- test/fixtures/person_get_info.txt
|
61
73
|
- test/fixtures/person_search.txt
|
62
74
|
- test/setup/.gitignore
|
63
|
-
- test/setup/setup_api_key.rb
|
64
75
|
- test/setup/test_unit_extensions.rb
|
65
76
|
- test/setup/url_mocks.rb
|
66
77
|
- test/test_helper.rb
|
67
|
-
- test/unit/test_direct_require.rb
|
68
78
|
- test/unit/tmdb_cast_test.rb
|
69
79
|
- test/unit/tmdb_movie_test.rb
|
70
80
|
- test/unit/tmdb_test.rb
|
@@ -103,11 +113,9 @@ signing_key:
|
|
103
113
|
specification_version: 3
|
104
114
|
summary: An ActiveRecord-style API wrapper for TheMovieDB.org
|
105
115
|
test_files:
|
106
|
-
- test/setup/setup_api_key.rb
|
107
116
|
- test/setup/test_unit_extensions.rb
|
108
117
|
- test/setup/url_mocks.rb
|
109
118
|
- test/test_helper.rb
|
110
|
-
- test/unit/test_direct_require.rb
|
111
119
|
- test/unit/tmdb_cast_test.rb
|
112
120
|
- test/unit/tmdb_movie_test.rb
|
113
121
|
- test/unit/tmdb_test.rb
|
data/.gitignore
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
*.gem
|
data/test/setup/setup_api_key.rb
DELETED
@@ -1,25 +0,0 @@
|
|
1
|
-
require "test/unit"
|
2
|
-
|
3
|
-
require_files = []
|
4
|
-
require_files << File.join(File.dirname(__FILE__), "..", "..", "lib", "ruby-tmdb.rb")
|
5
|
-
require_files.concat Dir[File.join(File.dirname(__FILE__), '..', 'setup', '*.rb')]
|
6
|
-
|
7
|
-
require_files.each do |file|
|
8
|
-
require File.expand_path(file)
|
9
|
-
end
|
10
|
-
|
11
|
-
class DirectRequireTest < Test::Unit::TestCase
|
12
|
-
|
13
|
-
test "TmdbMovie should not raise exception when directly required without using rubygems" do
|
14
|
-
assert_nothing_raised do
|
15
|
-
TmdbMovie.find(:id => 187)
|
16
|
-
end
|
17
|
-
end
|
18
|
-
|
19
|
-
test "TmdbCast should not raise exception when directly required without using rubygems" do
|
20
|
-
assert_nothing_raised do
|
21
|
-
TmdbCast.find(:id => 287)
|
22
|
-
end
|
23
|
-
end
|
24
|
-
|
25
|
-
end
|