imdb 0.7.0 → 0.8.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (42) hide show
  1. checksums.yaml +4 -4
  2. data/.travis.yml +6 -0
  3. data/MIT-LICENSE +21 -0
  4. data/README.md +97 -0
  5. data/imdb.gemspec +1 -1
  6. data/lib/imdb.rb +1 -1
  7. data/lib/imdb/base.rb +36 -36
  8. data/lib/imdb/episode.rb +2 -2
  9. data/lib/imdb/movie_list.rb +6 -10
  10. data/lib/imdb/search.rb +4 -4
  11. data/lib/imdb/season.rb +3 -3
  12. data/lib/imdb/serie.rb +2 -3
  13. data/lib/imdb/top_250.rb +1 -1
  14. data/lib/imdb/version.rb +1 -1
  15. data/spec/fixtures/locations +1167 -0
  16. data/spec/fixtures/plotsummary +1063 -897
  17. data/spec/fixtures/search_kannethirey_thondrinal +344 -346
  18. data/spec/fixtures/search_killed_wife +344 -346
  19. data/spec/fixtures/search_star_trek +344 -346
  20. data/spec/fixtures/synopsis +457 -446
  21. data/spec/fixtures/thewalkingdead-s1 +740 -555
  22. data/spec/fixtures/thewalkingdead-s1e2 +505 -480
  23. data/spec/fixtures/top_250 +10749 -1082
  24. data/spec/fixtures/tt0036855 +553 -519
  25. data/spec/fixtures/tt0083987 +563 -512
  26. data/spec/fixtures/tt0095016 +518 -536
  27. data/spec/fixtures/tt0110912 +572 -512
  28. data/spec/fixtures/tt0111161 +559 -508
  29. data/spec/fixtures/tt0117731 +542 -510
  30. data/spec/fixtures/tt0166222 +969 -872
  31. data/spec/fixtures/tt0242653 +530 -524
  32. data/spec/fixtures/tt0330508 +845 -717
  33. data/spec/fixtures/tt0468569 +533 -543
  34. data/spec/fixtures/tt1401252 +472 -449
  35. data/spec/fixtures/tt1520211 +562 -542
  36. data/spec/imdb/movie_spec.rb +13 -5
  37. data/spec/imdb/search_spec.rb +4 -4
  38. data/spec/imdb/series_spec.rb +1 -1
  39. data/spec/imdb/top_250_spec.rb +5 -5
  40. data/spec/spec_helper.rb +1 -0
  41. metadata +12 -9
  42. data/README.rdoc +0 -114
@@ -33,7 +33,7 @@ describe "Imdb::Movie" do
33
33
  char.should include("Hostage")
34
34
  end
35
35
 
36
- it "should associates the cast members to the charachters" do
36
+ it "should associates the cast members to the characters" do
37
37
  cast = @movie.cast_members
38
38
  char = @movie.cast_characters
39
39
  cast_char = @movie.cast_members_characters
@@ -51,11 +51,11 @@ describe "Imdb::Movie" do
51
51
 
52
52
  describe 'fetching a list of imdb actor ids for the cast members' do
53
53
  it 'should not require arguments' do
54
- lambda { @movie.cast_member_ids }.should_not raise_error(ArgumentError)
54
+ expect { @movie.cast_member_ids }.not_to raise_error
55
55
  end
56
56
 
57
57
  it 'should not allow arguments' do
58
- lambda { @movie.cast_member_ids(:foo) }.should raise_error(ArgumentError)
58
+ expect { @movie.cast_member_ids(:foo) }.to raise_error(ArgumentError)
59
59
  end
60
60
 
61
61
  it 'should return the imdb actor number for each cast member' do
@@ -142,7 +142,7 @@ describe "Imdb::Movie" do
142
142
  end
143
143
 
144
144
  it "should find number of votes" do
145
- @movie.votes.should be_within(10000).of(343463)
145
+ @movie.votes.should be_within(10000).of(397054)
146
146
  end
147
147
 
148
148
  it "should find the title" do
@@ -170,6 +170,14 @@ describe "Imdb::Movie" do
170
170
  end
171
171
  end
172
172
 
173
+ it "should find multiple filming locations" do
174
+ filming_locations = @movie.filming_locations
175
+ filming_locations.should be_an(Array)
176
+ filming_locations.size.should eql(4)
177
+ filming_locations[0].should match(/.*, USA$/i)
178
+
179
+ end
180
+
173
181
  it "should provide a convenience method to search" do
174
182
  movies = Imdb::Movie.search("Star Trek: TOS")
175
183
  movies.should respond_to(:each)
@@ -186,7 +194,7 @@ describe "Imdb::Movie" do
186
194
  describe "plot" do
187
195
  it "should find a correct plot when HTML links are present" do
188
196
  movie = Imdb::Movie.new("0083987")
189
- movie.plot.should eql("Biography of Mohandas K. Gandhi, the lawyer who became the famed leader of the Indian revolts against the British rule through his philosophy of non-violent protest.")
197
+ movie.plot.should eql("Biography of Mohandas K. Gandhi, the lawyer who became the famed leader of the Indian revolts against the British rule through his philosophy of nonviolent protest.")
190
198
  end
191
199
 
192
200
  it "should not have a 'more' link in the plot" do
@@ -10,8 +10,8 @@ describe "Imdb::Search with multiple search results" do
10
10
  @search.query.should == "Star Trek: TOS"
11
11
  end
12
12
 
13
- it "should find 2 results" do
14
- @search.movies.size.should eql(2)
13
+ it "should find 4 results" do
14
+ @search.movies.size.should eql(4)
15
15
  end
16
16
 
17
17
  it "should return Imdb::Movie objects only" do
@@ -30,9 +30,9 @@ end
30
30
  describe "Imdb::Search with an exact match and no poster" do
31
31
 
32
32
  it "should not raise an exception" do
33
- lambda {
33
+ expect {
34
34
  @search = Imdb::Search.new("Kannethirey Thondrinal").movies
35
- }.should_not raise_error
35
+ }.not_to raise_error
36
36
  end
37
37
 
38
38
  it "should return the movie id correctly" do
@@ -11,7 +11,7 @@ describe "Imdb::Serie" do
11
11
  end
12
12
 
13
13
  it "reports the number of seasons" do
14
- @serie.seasons.size.should eql(3)
14
+ @serie.seasons.size.should eql(4)
15
15
  end
16
16
 
17
17
  it "can fetch a specific season" do
@@ -4,18 +4,18 @@ describe Imdb::Top250 do
4
4
  before(:each) do
5
5
  @movies = Imdb::Top250.new.movies
6
6
  end
7
-
7
+
8
8
  it "should be a list of movies" do
9
9
  @movies.each { |movie| movie.should be_an_instance_of(Imdb::Movie) }
10
10
  end
11
-
11
+
12
12
  it "should return the top 250 movies from IMDB.com" do
13
13
  @movies.size.should == 250
14
14
  end
15
15
 
16
16
  it "should provide array like access to the movies" do
17
- @first = @movies.first
18
- @first.title.should == "The Shawshank Redemption"
19
- @first.genres.should include("Drama")
17
+ @movies[0].title.should == "1. The Shawshank Redemption"
18
+ @movies[1].title.should == "2. The Godfather"
19
+ @movies[2].title.should == "3. The Godfather: Part II"
20
20
  end
21
21
  end
@@ -26,6 +26,7 @@ IMDB_SAMPLES = {
26
26
  "http://akas.imdb.com:80/title/tt0095016/combined" => "tt0095016",
27
27
  "http://akas.imdb.com/title/tt0095016/synopsis" => "synopsis",
28
28
  "http://akas.imdb.com/title/tt0095016/plotsummary" => "plotsummary",
29
+ "http://akas.imdb.com/title/tt0095016/locations" => "locations",
29
30
  "http://akas.imdb.com:80/title/tt0242653/combined" => "tt0242653",
30
31
  "http://akas.imdb.com/title/tt0166222/?fr=c2M9MXxsbT01MDB8ZmI9dXx0dD0xfG14PTIwfGh0bWw9MXxjaD0xfGNvPTF8cG49MHxmdD0xfGt3PTF8cXM9SSBraWxsZWQgbXkgbGVzYmlhbiB3aWZlfHNpdGU9YWthfHE9SSBraWxsZWQgbXkgbGVzYmlhbiB3aWZlfG5tPTE_;fc=1;ft=7" => "tt0166222",
31
32
  "http://akas.imdb.com:80/chart/top" => "top_250",
metadata CHANGED
@@ -1,29 +1,29 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: imdb
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.7.0
4
+ version: 0.8.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ariejan de Vroom
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-02-26 00:00:00.000000000 Z
11
+ date: 2013-10-28 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
- name: hpricot
14
+ name: nokogiri
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - ~>
17
+ - - '>='
18
18
  - !ruby/object:Gem::Version
19
- version: 0.8.6
19
+ version: 1.6.0
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - ~>
24
+ - - '>='
25
25
  - !ruby/object:Gem::Version
26
- version: 0.8.6
26
+ version: 1.6.0
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: rake
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -107,8 +107,9 @@ files:
107
107
  - .travis.yml
108
108
  - Gemfile
109
109
  - History.txt
110
+ - MIT-LICENSE
110
111
  - Manifest.txt
111
- - README.rdoc
112
+ - README.md
112
113
  - Rakefile
113
114
  - bin/imdb
114
115
  - config/website.yml
@@ -128,6 +129,7 @@ files:
128
129
  - script/console
129
130
  - script/destroy
130
131
  - script/generate
132
+ - spec/fixtures/locations
131
133
  - spec/fixtures/plotsummary
132
134
  - spec/fixtures/search_kannethirey_thondrinal
133
135
  - spec/fixtures/search_killed_wife
@@ -177,11 +179,12 @@ required_rubygems_version: !ruby/object:Gem::Requirement
177
179
  version: '0'
178
180
  requirements: []
179
181
  rubyforge_project: imdb
180
- rubygems_version: 2.0.0
182
+ rubygems_version: 2.0.3
181
183
  signing_key:
182
184
  specification_version: 4
183
185
  summary: Easily access the publicly available information on IMDB.
184
186
  test_files:
187
+ - spec/fixtures/locations
185
188
  - spec/fixtures/plotsummary
186
189
  - spec/fixtures/search_kannethirey_thondrinal
187
190
  - spec/fixtures/search_killed_wife
@@ -1,114 +0,0 @@
1
- = imdb
2
-
3
- {<img src="https://travis-ci.org/ariejan/imdb.png?branch=master" alt="Build Status" />}[https://travis-ci.org/ariejan/imdb]
4
-
5
- home :: http://github.com/ariejan/imdb
6
- rdoc :: http://ariejan.github.com/imdb/
7
- bugs :: http://github.com/ariejan/imdb/issues
8
-
9
- == Description
10
-
11
- This gem allows you to easy access publicly available data from IMDB.
12
-
13
- == Features
14
-
15
- IMDB currently features the following:
16
-
17
- * Querying details movie info
18
- * Searching for movies
19
- * Command-line utility included.
20
-
21
- == Synopsis
22
-
23
- Movies:
24
-
25
- i = Imdb::Movie.new("0095016")
26
-
27
- i.title
28
- #=> "Die Hard"
29
- i.cast_members.first
30
- #=> "Bruce Willis"
31
-
32
- Series:
33
-
34
- serie = Imdb::Serie.new("1520211")
35
-
36
- serie.title
37
- #=> "\"The Walking Dead\""
38
-
39
- serie.rating
40
- #=> 8.8
41
-
42
- serie.seasons.size
43
- #=> 3
44
-
45
- serie.seaon(1).episodes.size
46
- #=> 6
47
-
48
- series.season(1).episode(2).title
49
- #=> "Guts"
50
-
51
- Searching:
52
-
53
- i = Imdb::Search.new("Star Trek")
54
-
55
- i.movies.size
56
- #=> 97
57
-
58
- Using the command line utility is quite easy:
59
-
60
- $ imdb Star Trek
61
-
62
- or to get movie info
63
-
64
- $ imdb 0095016
65
-
66
- == Installation
67
-
68
- $ gem install imdb
69
-
70
- == Documentation
71
-
72
- This README and generated RDoc documentation are available from http://ariejan.github.com/imdb/
73
-
74
- == Running tests
75
-
76
- You'll need rspec and fakeweb installed to run the specs.
77
-
78
- $ bundle install
79
- $ bundle exec rake spec
80
-
81
- Although not recommended, you may run the specs against the live imdb.com
82
- website. This will make a lot of calls to imdb.com, use it wisely.
83
-
84
- $ LIVE_TEST=true bundle exec rake spec
85
-
86
- To update the packaged fixtures files with actual imdb.com samples, use the
87
- fixtures:refresh rake task
88
-
89
- $ bundle exec rake fixtures:refresh
90
-
91
- == License
92
-
93
- (The MIT License)
94
-
95
- Copyright (c) 2009 Ariejan de Vroom
96
-
97
- Permission is hereby granted, free of charge, to any person obtaining
98
- a copy of this software and associated documentation files (the
99
- 'Software'), to deal in the Software without restriction, including
100
- without limitation the rights to use, copy, modify, merge, publish,
101
- distribute, sublicense, and/or sell copies of the Software, and to
102
- permit persons to whom the Software is furnished to do so, subject to
103
- the following conditions:
104
-
105
- The above copyright notice and this permission notice shall be
106
- included in all copies or substantial portions of the Software.
107
-
108
- THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
109
- EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
110
- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
111
- IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
112
- CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
113
- TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
114
- SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.