imdb 0.6.7 → 0.6.8

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.
@@ -1,16 +1,14 @@
1
1
  = imdb
2
2
 
3
- Allows you to search and inspect movies from IMDB.com.
3
+ home :: http://github.com/ariejan/imdb
4
+ rdoc :: http://ariejan.github.com/imdb/
5
+ bugs :: http://github.com/ariejan/imdb/issues
4
6
 
5
- The code, issue tracker and wiki can be found at: http://github.com/ariejan/imdb
7
+ == Description
6
8
 
7
- API documentation is available at http://ariejan.github.com/imdb/
9
+ This gem allows you to easy access publicly available data from IMDB.
8
10
 
9
- == DESCRIPTION:
10
-
11
- This packages allows you to easy access publicly available data from IMDB.
12
-
13
- == FEATURES/PROBLEMS:
11
+ == Features
14
12
 
15
13
  IMDB currently features the following:
16
14
 
@@ -18,16 +16,16 @@ IMDB currently features the following:
18
16
  * Searching for movies
19
17
  * Command-line utility included.
20
18
 
21
- == SYNOPSIS:
19
+ == Synopsis
22
20
 
23
21
  Movies:
24
22
 
25
- i = Imdb::Movie.new("0095016")
26
-
27
- i.title
28
- #=> "Die Hard"
29
- i.cast_members.first
30
- #=> "Bruce Willis"
23
+ i = Imdb::Movie.new("0095016")
24
+
25
+ i.title
26
+ #=> "Die Hard"
27
+ i.cast_members.first
28
+ #=> "Bruce Willis"
31
29
 
32
30
  Searching:
33
31
 
@@ -35,38 +33,32 @@ Searching:
35
33
 
36
34
  i.movies.size
37
35
  #=> 97
38
-
36
+
39
37
  Using the command line utility is quite easy:
40
38
 
41
39
  $ imdb Star Trek
42
-
40
+
43
41
  or to get movie info
44
42
 
45
43
  $ imdb 0095016
46
44
 
47
- == REQUIREMENTS:
48
-
49
- All required gems are installed automagically through RubyGems.
50
-
51
- * Hpricot 0.8.1
52
-
53
- == INSTALL:
45
+ == Installation
54
46
 
55
- $ sudo gem install imdb -s http://gemcutter.org
47
+ $ gem install imdb
56
48
 
57
- == DOCUMENTATION:
49
+ == Documentation
58
50
 
59
51
  This README and generated RDoc documentation are available from http://ariejan.github.com/imdb/
60
52
 
61
- == TESTING:
53
+ == Running tests
62
54
 
63
- You'll need rspec and fakeweb installed to run the specs. Y
55
+ You'll need rspec and fakeweb installed to run the specs.
64
56
 
65
57
  $ bundle install
66
58
  $ bundle exec rake spec
67
59
 
68
60
  Although not recommended, you may run the specs against the live imdb.com
69
- website. This will make a lot of calls to imdb.com, use it wisely.
61
+ website. This will make a lot of calls to imdb.com, use it wisely.
70
62
 
71
63
  $ LIVE_TEST=true bundle exec rake spec
72
64
 
@@ -75,7 +67,7 @@ fixtures:refresh rake task
75
67
 
76
68
  $ bundle exec rake fixtures:refresh
77
69
 
78
- == LICENSE:
70
+ == License
79
71
 
80
72
  (The MIT License)
81
73
 
data/Rakefile CHANGED
@@ -20,6 +20,7 @@ task :default => :spec
20
20
  require 'imdb/version'
21
21
  require 'rdoc/task'
22
22
  RDoc::Task.new(:rdoc) do |rdoc|
23
+ rdoc.main = 'README.rdoc'
23
24
  rdoc.rdoc_dir = 'rdoc'
24
25
  rdoc.title = "imdb #{Imdb::VERSION} documentation"
25
26
  rdoc.rdoc_files.include('README*')
@@ -28,6 +28,22 @@ module Imdb
28
28
  document.search("table.cast td.nm a").map {|l| l['href'].sub(%r{^/name/(.*)/}, '\1') }
29
29
  end
30
30
 
31
+ # Returns an array with cast characters
32
+ def cast_characters
33
+ document.search("table.cast td.char").map { |link| link.innerText } rescue []
34
+ end
35
+
36
+ # Returns an array with cast members and characters
37
+ def cast_members_characters(sep = '=>')
38
+ memb_char = Array.new
39
+ i = 0
40
+ self.cast_members.each{|m|
41
+ memb_char[i] = "#{self.cast_members[i]} #{sep} #{self.cast_characters[i]}"
42
+ i=i+1
43
+ }
44
+ return memb_char
45
+ end
46
+
31
47
  # Returns the name of the director
32
48
  def director
33
49
  document.search("h5[text()^='Director'] ~ a").map { |link| link.innerHTML.strip.imdb_unescape_html } rescue []
@@ -1,3 +1,3 @@
1
1
  module Imdb
2
- VERSION = '0.6.7'
2
+ VERSION = '0.6.8'
3
3
  end
@@ -22,6 +22,32 @@ describe "Imdb::Movie" do
22
22
  cast.should include("Bonnie Bedelia")
23
23
  cast.should include("Alan Rickman")
24
24
  end
25
+
26
+ it "should find the cast characters" do
27
+ char = @movie.cast_characters
28
+
29
+ char.should be_an(Array)
30
+ char.should include("Karl")
31
+ char.should include("Officer John McClane")
32
+ char.should include("Police Detective (uncredited)")
33
+ char.should include("Hostage")
34
+ end
35
+
36
+ it "should associates the cast members to the charachters" do
37
+ cast = @movie.cast_members
38
+ char = @movie.cast_characters
39
+ cast_char = @movie.cast_members_characters
40
+
41
+ cast_char[0].should eql("#{cast[0]} => #{char[0]}")
42
+ cast_char[10].should eql("#{cast[10]} => #{char[10]}")
43
+ cast_char[-1].should eql("#{cast[-1]} => #{char[-1]}")
44
+
45
+ cast_char = @movie.cast_members_characters('as')
46
+
47
+ cast_char[1].should eql("#{cast[1]} as #{char[1]}")
48
+ cast_char[11].should eql("#{cast[11]} as #{char[11]}")
49
+ cast_char[-2].should eql("#{cast[-2]} as #{char[-2]}")
50
+ end
25
51
 
26
52
  describe 'fetching a list of imdb actor ids for the cast members' do
27
53
  it 'should not require arguments' do
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: imdb
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.7
4
+ version: 0.6.8
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,11 +9,11 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2011-11-30 00:00:00.000000000Z
12
+ date: 2011-12-04 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: hpricot
16
- requirement: &70365148085040 !ruby/object:Gem::Requirement
16
+ requirement: &17336340 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ~>
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: 0.8.4
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *70365148085040
24
+ version_requirements: *17336340
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: rake
27
- requirement: &70365148084380 !ruby/object:Gem::Requirement
27
+ requirement: &17335800 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ~>
@@ -32,10 +32,10 @@ dependencies:
32
32
  version: 0.9.2
33
33
  type: :development
34
34
  prerelease: false
35
- version_requirements: *70365148084380
35
+ version_requirements: *17335800
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: rspec
38
- requirement: &70365148083900 !ruby/object:Gem::Requirement
38
+ requirement: &17335340 !ruby/object:Gem::Requirement
39
39
  none: false
40
40
  requirements:
41
41
  - - ~>
@@ -43,10 +43,10 @@ dependencies:
43
43
  version: 1.3.2
44
44
  type: :development
45
45
  prerelease: false
46
- version_requirements: *70365148083900
46
+ version_requirements: *17335340
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: gokdok
49
- requirement: &70365148083520 !ruby/object:Gem::Requirement
49
+ requirement: &17334940 !ruby/object:Gem::Requirement
50
50
  none: false
51
51
  requirements:
52
52
  - - ! '>='
@@ -54,10 +54,10 @@ dependencies:
54
54
  version: '0'
55
55
  type: :development
56
56
  prerelease: false
57
- version_requirements: *70365148083520
57
+ version_requirements: *17334940
58
58
  - !ruby/object:Gem::Dependency
59
59
  name: rdoc
60
- requirement: &70365148082960 !ruby/object:Gem::Requirement
60
+ requirement: &17334380 !ruby/object:Gem::Requirement
61
61
  none: false
62
62
  requirements:
63
63
  - - ~>
@@ -65,10 +65,10 @@ dependencies:
65
65
  version: '3.11'
66
66
  type: :development
67
67
  prerelease: false
68
- version_requirements: *70365148082960
68
+ version_requirements: *17334380
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: fakeweb
71
- requirement: &70365148082540 !ruby/object:Gem::Requirement
71
+ requirement: &17333940 !ruby/object:Gem::Requirement
72
72
  none: false
73
73
  requirements:
74
74
  - - ! '>='
@@ -76,7 +76,7 @@ dependencies:
76
76
  version: '0'
77
77
  type: :development
78
78
  prerelease: false
79
- version_requirements: *70365148082540
79
+ version_requirements: *17333940
80
80
  description: Easily use Ruby or the command line to find information on IMDB.com.
81
81
  email:
82
82
  - ariejan@ariejan.net
@@ -142,7 +142,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
142
142
  version: '0'
143
143
  segments:
144
144
  - 0
145
- hash: -638483093117193784
145
+ hash: 713179150627652883
146
146
  required_rubygems_version: !ruby/object:Gem::Requirement
147
147
  none: false
148
148
  requirements:
@@ -151,32 +151,11 @@ required_rubygems_version: !ruby/object:Gem::Requirement
151
151
  version: '0'
152
152
  segments:
153
153
  - 0
154
- hash: -638483093117193784
154
+ hash: 713179150627652883
155
155
  requirements: []
156
156
  rubyforge_project: imdb
157
- rubygems_version: 1.8.10
157
+ rubygems_version: 1.8.11
158
158
  signing_key:
159
159
  specification_version: 3
160
160
  summary: Easily access the publicly available information on IMDB.
161
- test_files:
162
- - spec/fixtures/search_kannethirey_thondrinal
163
- - spec/fixtures/search_killed_wife
164
- - spec/fixtures/search_star_trek
165
- - spec/fixtures/top_250
166
- - spec/fixtures/tt0036855
167
- - spec/fixtures/tt0083987
168
- - spec/fixtures/tt0095016
169
- - spec/fixtures/tt0110912
170
- - spec/fixtures/tt0111161
171
- - spec/fixtures/tt0117731
172
- - spec/fixtures/tt0166222
173
- - spec/fixtures/tt0242653
174
- - spec/fixtures/tt0330508
175
- - spec/fixtures/tt0468569
176
- - spec/fixtures/tt1401252
177
- - spec/imdb/cli_spec.rb
178
- - spec/imdb/movie_spec.rb
179
- - spec/imdb/search_spec.rb
180
- - spec/imdb/top_250_spec.rb
181
- - spec/spec.opts
182
- - spec/spec_helper.rb
161
+ test_files: []