tvdb_party 0.3.3 → 0.4.0
Sign up to get free protection for your applications and to get access to all the features.
- data/VERSION +1 -1
- data/lib/tvdb_party/actor.rb +18 -0
- data/lib/tvdb_party/search.rb +10 -0
- data/lib/tvdb_party/series.rb +4 -7
- data/lib/tvdb_party.rb +1 -0
- data/test/tvdb_party_test.rb +8 -0
- data/tvdb_party.gemspec +3 -2
- metadata +3 -2
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.
|
1
|
+
0.4.0
|
@@ -0,0 +1,18 @@
|
|
1
|
+
module TvdbParty
|
2
|
+
class Actor
|
3
|
+
attr_accessor :id, :name, :role, :image
|
4
|
+
|
5
|
+
def initialize(options={})
|
6
|
+
@id = options["id"]
|
7
|
+
@name = options["Name"]
|
8
|
+
@role = options["Role"]
|
9
|
+
@image = options["Image"]
|
10
|
+
end
|
11
|
+
|
12
|
+
def image_url
|
13
|
+
return nil unless @image
|
14
|
+
"http://thetvdb.com/banners/" + @image
|
15
|
+
end
|
16
|
+
|
17
|
+
end
|
18
|
+
end
|
data/lib/tvdb_party/search.rb
CHANGED
@@ -3,6 +3,7 @@ module TvdbParty
|
|
3
3
|
include HTTParty
|
4
4
|
include HTTParty::Icebox
|
5
5
|
attr_accessor :language
|
6
|
+
format :xml
|
6
7
|
cache :store => 'file', :timeout => 120, :location => Dir.tmpdir
|
7
8
|
|
8
9
|
base_uri 'www.thetvdb.com/api'
|
@@ -44,6 +45,15 @@ module TvdbParty
|
|
44
45
|
end
|
45
46
|
end
|
46
47
|
|
48
|
+
def get_actors(series)
|
49
|
+
response = self.class.get("/#{@api_key}/series/#{series.id}/actors.xml")
|
50
|
+
if response["Actors"] && response["Actors"]["Actor"]
|
51
|
+
response["Actors"]["Actor"].collect {|a| Actor.new(a)}
|
52
|
+
else
|
53
|
+
nil
|
54
|
+
end
|
55
|
+
end
|
56
|
+
|
47
57
|
def get_banners(series)
|
48
58
|
response = self.class.get("/#{@api_key}/series/#{series.id}/banners.xml")
|
49
59
|
return [] unless response["Banners"] && response["Banners"]["Banner"]
|
data/lib/tvdb_party/series.rb
CHANGED
@@ -19,12 +19,6 @@ module TvdbParty
|
|
19
19
|
@genres = []
|
20
20
|
end
|
21
21
|
|
22
|
-
if options["Actors"]
|
23
|
-
@actors = options["Actors"][1..-1].split("|")
|
24
|
-
else
|
25
|
-
@actors = []
|
26
|
-
end
|
27
|
-
|
28
22
|
if options["Rating"] && options["Rating"].size > 0
|
29
23
|
@rating = options["Rating"].to_f
|
30
24
|
else
|
@@ -36,7 +30,6 @@ module TvdbParty
|
|
36
30
|
rescue
|
37
31
|
puts 'invalid date'
|
38
32
|
end
|
39
|
-
|
40
33
|
end
|
41
34
|
|
42
35
|
def get_episode(season_number, episode_number)
|
@@ -70,6 +63,10 @@ module TvdbParty
|
|
70
63
|
def seasons
|
71
64
|
@seasons ||= client.get_seasons(self)
|
72
65
|
end
|
66
|
+
|
67
|
+
def actors
|
68
|
+
@actors ||= client.get_actors(self)
|
69
|
+
end
|
73
70
|
|
74
71
|
def season(season_number)
|
75
72
|
seasons.detect{|s| s.number == season_number}
|
data/lib/tvdb_party.rb
CHANGED
data/test/tvdb_party_test.rb
CHANGED
@@ -35,6 +35,14 @@ class TvdbPartyTest < Test::Unit::TestCase
|
|
35
35
|
assert_equal TvdbParty::Series, @series.class
|
36
36
|
end
|
37
37
|
|
38
|
+
should "have actors" do
|
39
|
+
assert_not_equal 0, @series.actors.size
|
40
|
+
end
|
41
|
+
|
42
|
+
should "have actual Actors" do
|
43
|
+
assert_equal TvdbParty::Actor, @series.actors.first.class
|
44
|
+
end
|
45
|
+
|
38
46
|
should "have a first episode" do
|
39
47
|
assert_equal "110413", @series.get_episode(1, 1).id
|
40
48
|
end
|
data/tvdb_party.gemspec
CHANGED
@@ -5,11 +5,11 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = %q{tvdb_party}
|
8
|
-
s.version = "0.
|
8
|
+
s.version = "0.4.0"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["Jon Maddox"]
|
12
|
-
s.date = %q{2010-
|
12
|
+
s.date = %q{2010-07-06}
|
13
13
|
s.description = %q{Simple Ruby library to talk to thetvdb.com's api}
|
14
14
|
s.email = %q{jon@mustacheinc.com}
|
15
15
|
s.extra_rdoc_files = [
|
@@ -24,6 +24,7 @@ Gem::Specification.new do |s|
|
|
24
24
|
"Rakefile",
|
25
25
|
"VERSION",
|
26
26
|
"lib/tvdb_party.rb",
|
27
|
+
"lib/tvdb_party/actor.rb",
|
27
28
|
"lib/tvdb_party/banner.rb",
|
28
29
|
"lib/tvdb_party/episode.rb",
|
29
30
|
"lib/tvdb_party/httparty_icebox.rb",
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: tvdb_party
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.4.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jon Maddox
|
@@ -9,7 +9,7 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date: 2010-
|
12
|
+
date: 2010-07-06 00:00:00 -04:00
|
13
13
|
default_executable:
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
@@ -49,6 +49,7 @@ files:
|
|
49
49
|
- Rakefile
|
50
50
|
- VERSION
|
51
51
|
- lib/tvdb_party.rb
|
52
|
+
- lib/tvdb_party/actor.rb
|
52
53
|
- lib/tvdb_party/banner.rb
|
53
54
|
- lib/tvdb_party/episode.rb
|
54
55
|
- lib/tvdb_party/httparty_icebox.rb
|