maksar-imdb_party 0.6.2 → 0.6.3
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/VERSION +1 -1
- data/lib/imdb_party.rb +1 -0
- data/lib/imdb_party/imdb.rb +3 -3
- data/lib/imdb_party/movie.rb +4 -0
- data/lib/imdb_party/search_result.rb +17 -0
- data/test/movie_test.rb +6 -2
- data/test/search_test.rb +3 -3
- metadata +2 -1
data/VERSION
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
0.6.
|
|
1
|
+
0.6.3
|
data/lib/imdb_party.rb
CHANGED
|
@@ -5,4 +5,5 @@ directory = File.expand_path(File.dirname(__FILE__))
|
|
|
5
5
|
require File.join(directory, 'imdb_party', 'httparty_icebox')
|
|
6
6
|
require File.join(directory, 'imdb_party', 'imdb')
|
|
7
7
|
require File.join(directory, 'imdb_party', 'movie')
|
|
8
|
+
require File.join(directory, 'imdb_party', 'search_result')
|
|
8
9
|
require File.join(directory, 'imdb_party', 'person')
|
data/lib/imdb_party/imdb.rb
CHANGED
|
@@ -41,7 +41,7 @@ module ImdbParty
|
|
|
41
41
|
next unless r["tconst"] && r["title"]
|
|
42
42
|
h = {:title => r["title"], :year => r["year"], :imdb_id => r["tconst"], :kind => r["type"]}
|
|
43
43
|
h.merge!(:poster_url => r["image"]["url"]) if r["image"] && r["image"]["url"]
|
|
44
|
-
movie_results << h
|
|
44
|
+
movie_results << SearchResult.new(h)
|
|
45
45
|
end
|
|
46
46
|
end
|
|
47
47
|
end
|
|
@@ -60,14 +60,14 @@ module ImdbParty
|
|
|
60
60
|
url = build_url('/chart/top')
|
|
61
61
|
|
|
62
62
|
results = self.class.get(url).parsed_response
|
|
63
|
-
results["data"]["list"]["list"].map { |r| {:title => r["title"], :imdb_id => r["tconst"], :year => r["year"], :poster_url => (r["image"] ? r["image"]["url"] : nil)} }
|
|
63
|
+
results["data"]["list"]["list"].map { |r| SearchResult.new({:title => r["title"], :imdb_id => r["tconst"], :year => r["year"], :poster_url => (r["image"] ? r["image"]["url"] : nil)}) }
|
|
64
64
|
end
|
|
65
65
|
|
|
66
66
|
def popular_shows
|
|
67
67
|
url = build_url('/chart/tv')
|
|
68
68
|
|
|
69
69
|
results = self.class.get(url).parsed_response
|
|
70
|
-
results["data"]["list"].map { |r| {:title => r["title"], :imdb_id => r["tconst"], :year => r["year"], :poster_url => (r["image"] ? r["image"]["url"] : nil)} }
|
|
70
|
+
results["data"]["list"].map { |r| SearchResult.new({:title => r["title"], :imdb_id => r["tconst"], :year => r["year"], :poster_url => (r["image"] ? r["image"]["url"] : nil)}) }
|
|
71
71
|
end
|
|
72
72
|
|
|
73
73
|
end
|
data/lib/imdb_party/movie.rb
CHANGED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
require 'delegate'
|
|
2
|
+
module ImdbParty
|
|
3
|
+
class SearchResult < DelegateClass(Hash)
|
|
4
|
+
|
|
5
|
+
def initialize(options)
|
|
6
|
+
super(options)
|
|
7
|
+
end
|
|
8
|
+
|
|
9
|
+
def icon(size = 256)
|
|
10
|
+
return nil unless self[:poster_url]
|
|
11
|
+
|
|
12
|
+
self[:poster_url].gsub(/^(.*)(_V1_)(.*)$/, "\\1\\2SY#{size}\\3")
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
end
|
|
16
|
+
end
|
|
17
|
+
|
data/test/movie_test.rb
CHANGED
|
@@ -34,7 +34,11 @@ class MovieTest < Test::Unit::TestCase
|
|
|
34
34
|
should "have a poster_url" do
|
|
35
35
|
assert_match /http:\/\/ia.media-imdb.com\/images\/.*/, @movie.poster_url
|
|
36
36
|
end
|
|
37
|
-
|
|
37
|
+
|
|
38
|
+
should "have a icon with exact size" do
|
|
39
|
+
assert_match /http:\/\/ia.media-imdb.com\/images\/.*/, @movie.icon(128)
|
|
40
|
+
end
|
|
41
|
+
|
|
38
42
|
should "have a release date" do
|
|
39
43
|
assert_equal DateTime.parse("2007-06-29"), @movie.release_date
|
|
40
44
|
end
|
|
@@ -45,7 +49,7 @@ class MovieTest < Test::Unit::TestCase
|
|
|
45
49
|
|
|
46
50
|
should "have trailers" do
|
|
47
51
|
assert_equal Hash, @movie.trailers.class
|
|
48
|
-
assert_equal
|
|
52
|
+
assert_equal 1, @movie.trailers.keys.size
|
|
49
53
|
assert_equal "http://www.totaleclips.com/Player/Bounce.aspx?eclipid=e27826&bitrateid=461&vendorid=102&type=.mp4", @movie.trailers[@movie.trailers.keys.first]
|
|
50
54
|
end
|
|
51
55
|
|
data/test/search_test.rb
CHANGED
|
@@ -53,7 +53,7 @@ class SearchTest < Test::Unit::TestCase
|
|
|
53
53
|
|
|
54
54
|
should "be an Array of Hashes" do
|
|
55
55
|
assert_equal Array, @movies.class
|
|
56
|
-
assert_equal
|
|
56
|
+
assert_equal ImdbParty::SearchResult, @movies.first.class
|
|
57
57
|
end
|
|
58
58
|
end
|
|
59
59
|
|
|
@@ -64,7 +64,7 @@ class SearchTest < Test::Unit::TestCase
|
|
|
64
64
|
|
|
65
65
|
should "be an Array of Hashes" do
|
|
66
66
|
assert_equal Array, @shows.class
|
|
67
|
-
assert_equal
|
|
67
|
+
assert_equal ImdbParty::SearchResult, @shows.first.class
|
|
68
68
|
end
|
|
69
69
|
end
|
|
70
70
|
|
|
@@ -82,7 +82,7 @@ class SearchTest < Test::Unit::TestCase
|
|
|
82
82
|
|
|
83
83
|
should "be an Array of Hashes" do
|
|
84
84
|
assert_equal Array, @shows.class
|
|
85
|
-
assert_equal
|
|
85
|
+
assert_equal ImdbParty::SearchResult, @shows.first.class
|
|
86
86
|
end
|
|
87
87
|
end
|
|
88
88
|
|
metadata
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
name: maksar-imdb_party
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
4
|
prerelease:
|
|
5
|
-
version: 0.6.
|
|
5
|
+
version: 0.6.3
|
|
6
6
|
platform: ruby
|
|
7
7
|
authors:
|
|
8
8
|
- Jon Maddox
|
|
@@ -55,6 +55,7 @@ files:
|
|
|
55
55
|
- lib/imdb_party/imdb.rb
|
|
56
56
|
- lib/imdb_party/movie.rb
|
|
57
57
|
- lib/imdb_party/person.rb
|
|
58
|
+
- lib/imdb_party/search_result.rb
|
|
58
59
|
- maksar-imdb_party.gemspec
|
|
59
60
|
- test/movie_test.rb
|
|
60
61
|
- test/person_test.rb
|