spotlite 0.7.2 → 0.8.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/CHANGELOG.md +14 -0
- data/README.md +8 -41
- data/Rakefile +23 -3
- data/lib/spotlite.rb +1 -8
- data/lib/spotlite/movie.rb +169 -80
- data/lib/spotlite/person.rb +90 -14
- data/lib/spotlite/string_extensions.rb +9 -9
- data/lib/spotlite/version.rb +1 -1
- data/spec/fixtures/movie_find_conan +722 -0
- data/spec/fixtures/{search_no_results → movie_find_no_results} +95 -149
- data/spec/fixtures/nm0000233/index +6118 -0
- data/spec/fixtures/nm0005132/index +817 -740
- data/spec/fixtures/nm0864666/index +199 -221
- data/spec/fixtures/nm1659547/index +748 -719
- data/spec/fixtures/person_find_conan +722 -0
- data/spec/fixtures/{search_the_core → person_find_no_results} +112 -219
- data/spec/fixtures/tt0002186/index +212 -242
- data/spec/fixtures/tt0047396/releaseinfo +217 -292
- data/spec/fixtures/tt0112873/index +556 -539
- data/spec/fixtures/tt0133093/criticreviews +169 -250
- data/spec/fixtures/tt0133093/fullcredits +212 -299
- data/spec/fixtures/tt0133093/index +444 -491
- data/spec/fixtures/tt0133093/keywords +416 -492
- data/spec/fixtures/tt0133093/mediaindex_still_frame +114 -158
- data/spec/fixtures/tt0133093/releaseinfo +282 -344
- data/spec/fixtures/tt0133093/technical +1144 -0
- data/spec/fixtures/tt0133093/trivia +1350 -1230
- data/spec/fixtures/tt0169547/index +629 -644
- data/spec/fixtures/tt0317248/index +579 -608
- data/spec/fixtures/tt1134629/fullcredits +257 -340
- data/spec/spec_helper.rb +24 -23
- data/spec/spotlite/find_spec.rb +38 -0
- data/spec/spotlite/movie_spec.rb +73 -57
- data/spec/spotlite/person_spec.rb +60 -1
- data/spotlite.gemspec +9 -9
- metadata +34 -56
- data/lib/spotlite/box_office_top.rb +0 -11
- data/lib/spotlite/coming_soon.rb +0 -24
- data/lib/spotlite/in_theaters.rb +0 -25
- data/lib/spotlite/list.rb +0 -18
- data/lib/spotlite/opening_this_week.rb +0 -11
- data/lib/spotlite/search.rb +0 -45
- data/lib/spotlite/top.rb +0 -23
- data/spec/fixtures/movies_coming_soon +0 -2103
- data/spec/fixtures/movies_in_theaters +0 -2708
- data/spec/fixtures/top +0 -10823
- data/spec/spotlite/box_office_top_spec.rb +0 -29
- data/spec/spotlite/coming_soon_spec.rb +0 -29
- data/spec/spotlite/opening_this_week_spec.rb +0 -29
- data/spec/spotlite/search_spec.rb +0 -34
- data/spec/spotlite/top_spec.rb +0 -21
- data/tasks/fixtures.rake +0 -15
data/spec/spec_helper.rb
CHANGED
@@ -11,27 +11,28 @@ def read_fixture(path)
|
|
11
11
|
end
|
12
12
|
|
13
13
|
IMDB_SAMPLES = {
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
14
|
+
'http://www.imdb.com/title/tt0133093/' => 'tt0133093/index',
|
15
|
+
'http://www.imdb.com/title/tt0133093/fullcredits' => 'tt0133093/fullcredits',
|
16
|
+
'http://www.imdb.com/title/tt0133093/keywords' => 'tt0133093/keywords',
|
17
|
+
'http://www.imdb.com/title/tt0133093/releaseinfo' => 'tt0133093/releaseinfo',
|
18
|
+
'http://www.imdb.com/title/tt0133093/trivia' => 'tt0133093/trivia',
|
19
|
+
'http://www.imdb.com/title/tt0133093/criticreviews' => 'tt0133093/criticreviews',
|
20
|
+
'http://www.imdb.com/title/tt0133093/technical' => 'tt0133093/technical',
|
21
|
+
'http://www.imdb.com/title/tt0317248/' => 'tt0317248/index',
|
22
|
+
'http://www.imdb.com/title/tt0169547/' => 'tt0169547/index',
|
23
|
+
'http://www.imdb.com/title/tt0112873/' => 'tt0112873/index',
|
24
|
+
'http://www.imdb.com/title/tt0047396/releaseinfo' => 'tt0047396/releaseinfo',
|
25
|
+
'http://www.imdb.com/title/tt0002186/' => 'tt0002186/index',
|
26
|
+
'http://www.imdb.com/title/tt1134629/fullcredits' => 'tt1134629/fullcredits',
|
27
|
+
'http://www.imdb.com/find?q=conan&s=tt&ttype=ft' => 'movie_find_conan',
|
28
|
+
'http://www.imdb.com/find?q=wappadoozle+swambling&s=tt&ttype=ft' => 'movie_find_no_results',
|
29
|
+
'http://www.imdb.com/find?q=herpinson+derpington&s=nm' => 'person_find_no_results',
|
30
|
+
'http://www.imdb.com/find?q=conan&s=nm' => 'person_find_conan',
|
31
|
+
'http://www.imdb.com/name/nm0000233/?nmdp=1' => 'nm0000233/index',
|
32
|
+
'http://www.imdb.com/name/nm0005132/?nmdp=1' => 'nm0005132/index',
|
33
|
+
'http://www.imdb.com/name/nm1659547/?nmdp=1' => 'nm1659547/index',
|
34
|
+
'http://www.imdb.com/name/nm0864666/?nmdp=1' => 'nm0864666/index',
|
35
|
+
'http://www.imdb.com/title/tt0133093/mediaindex?refine=still_frame' => 'tt0133093/mediaindex_still_frame'
|
35
36
|
}
|
36
37
|
|
37
38
|
unless ENV['LIVE_TEST']
|
@@ -44,7 +45,7 @@ unless ENV['LIVE_TEST']
|
|
44
45
|
FakeWeb.register_uri(:get, url, :response => read_fixture(response))
|
45
46
|
end
|
46
47
|
rescue LoadError
|
47
|
-
puts
|
48
|
-
puts
|
48
|
+
puts 'Could not load FakeWeb, these tests will hit IMDb.com'
|
49
|
+
puts 'You can run `gem install fakeweb` to stub out the responses.'
|
49
50
|
end
|
50
51
|
end
|
@@ -0,0 +1,38 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe "Find feature" do
|
4
|
+
context "Movie" do
|
5
|
+
it "should find movies" do
|
6
|
+
results = Spotlite::Movie.find("conan")
|
7
|
+
results.size.should eql(200)
|
8
|
+
results.each{ |result| result.should be_a(Spotlite::Movie) }
|
9
|
+
first = results.first
|
10
|
+
first.imdb_id.should eql("0816462")
|
11
|
+
first.title.should eql("Conan the Barbarian")
|
12
|
+
first.year.should eql(2011)
|
13
|
+
end
|
14
|
+
|
15
|
+
it "should return emtpy array with no results" do
|
16
|
+
results = Spotlite::Movie.find("wappadoozle swambling")
|
17
|
+
results.should be_an(Array)
|
18
|
+
results.should be_empty
|
19
|
+
end
|
20
|
+
end
|
21
|
+
|
22
|
+
context "Person" do
|
23
|
+
it "should find people" do
|
24
|
+
results = Spotlite::Person.find("conan")
|
25
|
+
results.size.should eql(200)
|
26
|
+
results.each{ |result| result.should be_a(Spotlite::Person) }
|
27
|
+
first = results.first
|
28
|
+
first.imdb_id.should eql("0000192")
|
29
|
+
first.name.should eql("Alyssa Milano")
|
30
|
+
end
|
31
|
+
|
32
|
+
it "should return emtpy array with no results" do
|
33
|
+
results = Spotlite::Person.find("herpinson derpington")
|
34
|
+
results.should be_an(Array)
|
35
|
+
results.should be_empty
|
36
|
+
end
|
37
|
+
end
|
38
|
+
end
|
data/spec/spotlite/movie_spec.rb
CHANGED
@@ -25,6 +25,14 @@ describe "Spotlite::Movie" do
|
|
25
25
|
end
|
26
26
|
end
|
27
27
|
|
28
|
+
it "should return alternative titles" do
|
29
|
+
@movie.alternative_titles.should be_an(Array)
|
30
|
+
@movie.alternative_titles.size.should eql(35)
|
31
|
+
@movie.alternative_titles.should include({:title => "The Matrix", :comment => "(original title)"})
|
32
|
+
@movie.alternative_titles.should include({:title => "Maatriks", :comment => "Estonia"})
|
33
|
+
@movie.alternative_titles.should include({:title => "Матрица", :comment => "Russia"})
|
34
|
+
end
|
35
|
+
|
28
36
|
it "should return original release year" do
|
29
37
|
@movie.year.should eql(1999)
|
30
38
|
end
|
@@ -65,9 +73,8 @@ describe "Spotlite::Movie" do
|
|
65
73
|
|
66
74
|
it "should return genres" do
|
67
75
|
@movie.genres.should be_an(Array)
|
68
|
-
@movie.genres.size.should eql(
|
76
|
+
@movie.genres.size.should eql(2)
|
69
77
|
@movie.genres.should include("Action")
|
70
|
-
@movie.genres.should include("Adventure")
|
71
78
|
@movie.genres.should include("Sci-Fi")
|
72
79
|
end
|
73
80
|
|
@@ -90,13 +97,13 @@ describe "Spotlite::Movie" do
|
|
90
97
|
|
91
98
|
describe "poster URL" do
|
92
99
|
it "should return old style poster URL" do
|
93
|
-
@movie.poster_url.should eql("http://ia.media-imdb.com/images/M/
|
100
|
+
@movie.poster_url.should eql("http://ia.media-imdb.com/images/M/MV5BMTkxNDYxOTA4M15BMl5BanBnXkFtZTgwNTk0NzQxMTE@.jpg")
|
94
101
|
end
|
95
102
|
|
96
103
|
it "should return new style poster URL" do
|
97
104
|
# American Beauty (1999)
|
98
105
|
@movie = Spotlite::Movie.new("0169547")
|
99
|
-
@movie.poster_url.should eql("http://ia.media-imdb.com/images/M/
|
106
|
+
@movie.poster_url.should eql("http://ia.media-imdb.com/images/M/MV5BMjM4NTI5NzYyNV5BMl5BanBnXkFtZTgwNTkxNTYxMTE@.jpg")
|
100
107
|
end
|
101
108
|
|
102
109
|
it "should return nil if poster doesn't exist" do
|
@@ -118,11 +125,7 @@ describe "Spotlite::Movie" do
|
|
118
125
|
it "should return plot keywords" do
|
119
126
|
@movie.keywords.should be_an(Array)
|
120
127
|
@movie.keywords.size.should be_within(50).of(250)
|
121
|
-
@movie.keywords.should include("computer")
|
122
|
-
@movie.keywords.should include("artificial reality")
|
123
|
-
@movie.keywords.should include("hand to hand combat")
|
124
|
-
@movie.keywords.should include("white rabbit")
|
125
|
-
@movie.keywords.should include("chosen one")
|
128
|
+
@movie.keywords.should include("computer", "artificial reality", "hand to hand combat", "white rabbit", "chosen one")
|
126
129
|
end
|
127
130
|
|
128
131
|
it "should return trivia" do
|
@@ -133,54 +136,6 @@ describe "Spotlite::Movie" do
|
|
133
136
|
@movie.trivia.should include("Gary Oldman was considered as Morpheus at one point, as well as Samuel L. Jackson.")
|
134
137
|
end
|
135
138
|
|
136
|
-
it "should return directors" do
|
137
|
-
@movie.directors.should be_an(Array)
|
138
|
-
@movie.directors.size.should eql(2)
|
139
|
-
@movie.directors.should include({:imdb_id => "0905152", :name => "Andy Wachowski"})
|
140
|
-
@movie.directors.should include({:imdb_id => "0905154", :name => "Lana Wachowski"})
|
141
|
-
end
|
142
|
-
|
143
|
-
it "should return writers" do
|
144
|
-
@movie.writers.should be_an(Array)
|
145
|
-
@movie.writers.size.should eql(2)
|
146
|
-
@movie.writers.should include({:imdb_id => "0905152", :name => "Andy Wachowski"})
|
147
|
-
@movie.writers.should include({:imdb_id => "0905154", :name => "Lana Wachowski"})
|
148
|
-
end
|
149
|
-
|
150
|
-
it "should return only unique writers" do
|
151
|
-
# The Private Lives of Pippa Lee (2009)
|
152
|
-
@movie = Spotlite::Movie.new("1134629")
|
153
|
-
@movie.writers.size.should eql(1)
|
154
|
-
end
|
155
|
-
|
156
|
-
it "should return producers" do
|
157
|
-
@movie.producers.should be_an(Array)
|
158
|
-
@movie.producers.size.should eql(10)
|
159
|
-
@movie.producers.should include({:imdb_id => "0075732", :name => "Bruce Berman"})
|
160
|
-
@movie.producers.should include({:imdb_id => "0185621", :name => "Dan Cracchiolo"})
|
161
|
-
@movie.producers.should include({:imdb_id => "0400492", :name => "Carol Hughes"})
|
162
|
-
@movie.producers.should include({:imdb_id => "0905152", :name => "Andy Wachowski"})
|
163
|
-
@movie.producers.should include({:imdb_id => "0905154", :name => "Lana Wachowski"})
|
164
|
-
end
|
165
|
-
|
166
|
-
it "should return cast members and characters" do
|
167
|
-
@movie.cast.should be_an(Array)
|
168
|
-
@movie.cast.size.should eql(37)
|
169
|
-
@movie.cast.should include({:imdb_id => "0000206", :name => "Keanu Reeves", :character => "Neo"})
|
170
|
-
@movie.cast.should include({:imdb_id => "0000401", :name => "Laurence Fishburne", :character => "Morpheus"})
|
171
|
-
@movie.cast.should include({:imdb_id => "0005251", :name => "Carrie-Anne Moss", :character => "Trinity"})
|
172
|
-
@movie.cast.should include({:imdb_id => "0915989", :name => "Hugo Weaving", :character => "Agent Smith"})
|
173
|
-
@movie.cast.should include({:imdb_id => "3269395", :name => "Rana Morrison", :character => "Shaylae - Woman in Office (uncredited)"})
|
174
|
-
end
|
175
|
-
|
176
|
-
it "should return starred actors" do
|
177
|
-
@movie.stars.should be_an(Array)
|
178
|
-
@movie.stars.size.should eql(3)
|
179
|
-
@movie.stars.should include({:imdb_id => "0000206", :name => "Keanu Reeves"})
|
180
|
-
@movie.stars.should include({:imdb_id => "0000401", :name => "Laurence Fishburne"})
|
181
|
-
@movie.stars.should include({:imdb_id => "0005251", :name => "Carrie-Anne Moss"})
|
182
|
-
end
|
183
|
-
|
184
139
|
describe "release dates" do
|
185
140
|
it "should return release dates" do
|
186
141
|
# Rear Window (1954)
|
@@ -228,6 +183,15 @@ describe "Spotlite::Movie" do
|
|
228
183
|
)
|
229
184
|
end
|
230
185
|
|
186
|
+
it "should return technical information" do
|
187
|
+
hash = @movie.technical
|
188
|
+
hash.should be_a(Hash)
|
189
|
+
hash.should include("Runtime" => ["2 hr 16 min (136 min)"])
|
190
|
+
hash.should include("Sound Mix" => ["DTS", "Dolby Digital", "SDDS"])
|
191
|
+
hash.should include("Cinematographic Process" => ["Super 35", "VistaVision (effects shots)"])
|
192
|
+
hash.should include("Film Length" => ["3,735 m (Sweden)"])
|
193
|
+
end
|
194
|
+
|
231
195
|
it "should return an array of still frames URLs" do
|
232
196
|
@movie.images.should be_an(Array)
|
233
197
|
@movie.images.size.should eql(12)
|
@@ -237,6 +201,58 @@ describe "Spotlite::Movie" do
|
|
237
201
|
)
|
238
202
|
end
|
239
203
|
|
204
|
+
describe "movie credits" do
|
205
|
+
it "should return crew categories" do
|
206
|
+
@movie.crew_categories.should be_an(Array)
|
207
|
+
@movie.crew_categories.size.should eql(27)
|
208
|
+
@movie.crew_categories.should include("Directed by", "Writing Credits", "Cinematography by", "Second Unit Director or Assistant Director", "Casting By", "Other crew")
|
209
|
+
@movie.crew_categories.should_not include("Cast")
|
210
|
+
end
|
211
|
+
|
212
|
+
it "should return movie cast" do
|
213
|
+
@movie.cast.should be_an(Array)
|
214
|
+
@movie.cast.size.should eql(37)
|
215
|
+
@movie.cast.each{ |person| person.should be_a(Spotlite::Person) }
|
216
|
+
first = @movie.cast.first
|
217
|
+
first.name.should eql("Keanu Reeves")
|
218
|
+
first.imdb_id.should eql("0000206")
|
219
|
+
first.credits_category.should eql("Cast")
|
220
|
+
first.credits_text.should eql("Neo")
|
221
|
+
end
|
222
|
+
|
223
|
+
it "should return movie crew" do
|
224
|
+
@movie.crew.should be_an(Array)
|
225
|
+
@movie.crew.size.should eql(542)
|
226
|
+
@movie.crew.each{ |person| person.should be_a(Spotlite::Person) }
|
227
|
+
end
|
228
|
+
|
229
|
+
it "should return full credits" do
|
230
|
+
@movie.credits.should be_an(Array)
|
231
|
+
@movie.credits.size.should eql(@movie.cast.size + @movie.crew.size)
|
232
|
+
@movie.credits.each{ |person| person.should be_a(Spotlite::Person) }
|
233
|
+
end
|
234
|
+
|
235
|
+
it "should parse crew category" do
|
236
|
+
category = @movie.parse_crew("Transportation Department")
|
237
|
+
category.should be_an(Array)
|
238
|
+
category.size.should eql(3)
|
239
|
+
first = category.first
|
240
|
+
first.name.should eql("John Allan")
|
241
|
+
first.imdb_id.should eql("0019956")
|
242
|
+
first.credits_category.should eql("Transportation Department")
|
243
|
+
first.credits_text.should eql("action vehicle coordinator")
|
244
|
+
end
|
245
|
+
|
246
|
+
it "should return starred actors" do
|
247
|
+
@movie.stars.should be_an(Array)
|
248
|
+
@movie.stars.size.should eql(3)
|
249
|
+
@movie.stars.each{ |person| person.should be_a(Spotlite::Person) }
|
250
|
+
first = @movie.stars.first
|
251
|
+
first.name.should eql("Keanu Reeves")
|
252
|
+
first.imdb_id.should eql("0000206")
|
253
|
+
end
|
254
|
+
end
|
255
|
+
|
240
256
|
end
|
241
257
|
|
242
258
|
end
|
@@ -43,7 +43,66 @@ describe "Spotlite::Person" do
|
|
43
43
|
@person = Spotlite::Person.new("0864666")
|
44
44
|
@person.photo_url.should be_nil
|
45
45
|
end
|
46
|
-
end
|
46
|
+
end
|
47
|
+
|
48
|
+
describe "filmography" do
|
49
|
+
before(:each) do
|
50
|
+
# Quentin Tarantino
|
51
|
+
@person = Spotlite::Person.new("0000233")
|
52
|
+
end
|
53
|
+
|
54
|
+
context "with basic jobs (director, actor, writer, producer), flattened to array" do
|
55
|
+
it "should return an array of 76..86 movies" do
|
56
|
+
@person.filmography.should be_an(Array)
|
57
|
+
@person.filmography.size.should be_within(5).of(81)
|
58
|
+
@person.filmography.each{ |movie| movie.should be_a(Spotlite::Movie) }
|
59
|
+
@person.filmography.last.title.should eql("My Best Friend's Birthday")
|
60
|
+
@person.filmography.last.imdb_id.should eql("0359715")
|
61
|
+
end
|
62
|
+
end
|
63
|
+
|
64
|
+
context "with basic jobs (director, actor, writer, producer), expanded to a hash of arrays" do
|
65
|
+
it "should return a hash of 4 arrays" do
|
66
|
+
@person.filmography(false, false).should be_an(Hash)
|
67
|
+
@person.filmography(false, false).size.should eql(4)
|
68
|
+
@person.filmography(false, false).keys.should eql([:director, :actor, :writer, :producer])
|
69
|
+
end
|
70
|
+
|
71
|
+
it "should be able to retrieve an array of +Spotlite::Movie+ objects by a hash key" do
|
72
|
+
@person.filmography(false, false)[:actor].should be_an(Array)
|
73
|
+
@person.filmography(false, false)[:actor].size.should be_within(5).of(29)
|
74
|
+
@person.filmography(false, false)[:actor].each{ |movie| movie.should be_a(Spotlite::Movie) }
|
75
|
+
@person.filmography(false, false)[:actor].last.title.should eql("Love Birds in Bondage")
|
76
|
+
@person.filmography(false, false)[:actor].last.imdb_id.should eql("1959459")
|
77
|
+
end
|
78
|
+
end
|
79
|
+
|
80
|
+
context "with all available jobs, flattened to array" do
|
81
|
+
it "should return an array of 176..196 movies" do
|
82
|
+
@person.filmography(true, true).should be_an(Array)
|
83
|
+
@person.filmography(true, true).size.should be_within(10).of(186)
|
84
|
+
@person.filmography(true, true).each{ |movie| movie.should be_a(Spotlite::Movie) }
|
85
|
+
@person.filmography(true, true).last.title.should eql("The Typewriter, the Rifle & the Movie Camera")
|
86
|
+
@person.filmography(true, true).last.imdb_id.should eql("0118004")
|
87
|
+
end
|
88
|
+
end
|
89
|
+
|
90
|
+
context "with all available jobs, expanded to a hash of arrays" do
|
91
|
+
it "should return a hash of 11 arrays" do
|
92
|
+
@person.filmography(true, false).should be_an(Hash)
|
93
|
+
@person.filmography(true, false).size.should eql(11)
|
94
|
+
@person.filmography(true, false).keys.should eql([:writer, :actor, :director, :producer, :miscellaneous, :soundtrack, :cinematographer, :music_department, :editor, :thanks, :self])
|
95
|
+
end
|
96
|
+
|
97
|
+
it "should be able to retrieve an array of +Spotlite::Movie+ objects by a hash key" do
|
98
|
+
@person.filmography(true, false)[:thanks].should be_an(Array)
|
99
|
+
@person.filmography(true, false)[:thanks].size.should be_within(10).of(75)
|
100
|
+
@person.filmography(true, false)[:thanks].each{ |movie| movie.should be_a(Spotlite::Movie) }
|
101
|
+
@person.filmography(true, false)[:thanks].last.title.should eql("White Man's Burden")
|
102
|
+
@person.filmography(true, false)[:thanks].last.imdb_id.should eql("0114928")
|
103
|
+
end
|
104
|
+
end
|
105
|
+
end
|
47
106
|
end
|
48
107
|
|
49
108
|
end
|
data/spotlite.gemspec
CHANGED
@@ -4,20 +4,20 @@ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
|
4
4
|
require 'spotlite/version'
|
5
5
|
|
6
6
|
Gem::Specification.new do |gem|
|
7
|
-
gem.name =
|
7
|
+
gem.name = 'spotlite'
|
8
8
|
gem.version = Spotlite::VERSION
|
9
|
-
gem.license =
|
10
|
-
gem.authors = [
|
11
|
-
gem.email = [
|
9
|
+
gem.license = 'MIT'
|
10
|
+
gem.authors = ['Artem Pakk']
|
11
|
+
gem.email = ['apakk@me.com']
|
12
12
|
gem.description = %q{Spotlite gem helps you fetch all kinds of publicly available information about movies and people from IMDb movie website, including title, year, genres, directors, writers, actors, runtime, countries, poster, keywords, etc.}
|
13
13
|
gem.summary = %q{Ruby gem to fetch publicly available information about movies from IMDb}
|
14
|
-
gem.homepage =
|
14
|
+
gem.homepage = 'http://github.com/defeed/spotlite'
|
15
15
|
|
16
16
|
gem.files = `git ls-files`.split($/)
|
17
17
|
gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
|
18
|
-
gem.require_paths = [
|
18
|
+
gem.require_paths = ['lib']
|
19
19
|
|
20
|
-
gem.add_dependency
|
21
|
-
gem.add_development_dependency
|
22
|
-
gem.add_development_dependency
|
20
|
+
gem.add_dependency 'nokogiri', '~> 1.6'
|
21
|
+
gem.add_development_dependency 'rspec', '~> 2.14'
|
22
|
+
gem.add_development_dependency 'fakeweb', '~> 1.3'
|
23
23
|
end
|
metadata
CHANGED
@@ -1,64 +1,57 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: spotlite
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
5
|
-
prerelease:
|
4
|
+
version: 0.8.0
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- Artem Pakk
|
9
8
|
autorequire:
|
10
9
|
bindir: bin
|
11
10
|
cert_chain: []
|
12
|
-
date:
|
11
|
+
date: 2014-07-06 00:00:00.000000000 Z
|
13
12
|
dependencies:
|
14
13
|
- !ruby/object:Gem::Dependency
|
15
14
|
name: nokogiri
|
16
15
|
requirement: !ruby/object:Gem::Requirement
|
17
|
-
none: false
|
18
16
|
requirements:
|
19
|
-
- - ~>
|
17
|
+
- - "~>"
|
20
18
|
- !ruby/object:Gem::Version
|
21
|
-
version: '1.
|
19
|
+
version: '1.6'
|
22
20
|
type: :runtime
|
23
21
|
prerelease: false
|
24
22
|
version_requirements: !ruby/object:Gem::Requirement
|
25
|
-
none: false
|
26
23
|
requirements:
|
27
|
-
- - ~>
|
24
|
+
- - "~>"
|
28
25
|
- !ruby/object:Gem::Version
|
29
|
-
version: '1.
|
26
|
+
version: '1.6'
|
30
27
|
- !ruby/object:Gem::Dependency
|
31
28
|
name: rspec
|
32
29
|
requirement: !ruby/object:Gem::Requirement
|
33
|
-
none: false
|
34
30
|
requirements:
|
35
|
-
- - ~>
|
31
|
+
- - "~>"
|
36
32
|
- !ruby/object:Gem::Version
|
37
|
-
version: '2.
|
33
|
+
version: '2.14'
|
38
34
|
type: :development
|
39
35
|
prerelease: false
|
40
36
|
version_requirements: !ruby/object:Gem::Requirement
|
41
|
-
none: false
|
42
37
|
requirements:
|
43
|
-
- - ~>
|
38
|
+
- - "~>"
|
44
39
|
- !ruby/object:Gem::Version
|
45
|
-
version: '2.
|
40
|
+
version: '2.14'
|
46
41
|
- !ruby/object:Gem::Dependency
|
47
42
|
name: fakeweb
|
48
43
|
requirement: !ruby/object:Gem::Requirement
|
49
|
-
none: false
|
50
44
|
requirements:
|
51
|
-
- -
|
45
|
+
- - "~>"
|
52
46
|
- !ruby/object:Gem::Version
|
53
|
-
version: '
|
47
|
+
version: '1.3'
|
54
48
|
type: :development
|
55
49
|
prerelease: false
|
56
50
|
version_requirements: !ruby/object:Gem::Requirement
|
57
|
-
none: false
|
58
51
|
requirements:
|
59
|
-
- -
|
52
|
+
- - "~>"
|
60
53
|
- !ruby/object:Gem::Version
|
61
|
-
version: '
|
54
|
+
version: '1.3'
|
62
55
|
description: Spotlite gem helps you fetch all kinds of publicly available information
|
63
56
|
about movies and people from IMDb movie website, including title, year, genres,
|
64
57
|
directors, writers, actors, runtime, countries, poster, keywords, etc.
|
@@ -68,31 +61,24 @@ executables: []
|
|
68
61
|
extensions: []
|
69
62
|
extra_rdoc_files: []
|
70
63
|
files:
|
71
|
-
- .gitignore
|
64
|
+
- ".gitignore"
|
72
65
|
- CHANGELOG.md
|
73
66
|
- Gemfile
|
74
67
|
- README.md
|
75
68
|
- Rakefile
|
76
69
|
- lib/spotlite.rb
|
77
|
-
- lib/spotlite/box_office_top.rb
|
78
|
-
- lib/spotlite/coming_soon.rb
|
79
|
-
- lib/spotlite/in_theaters.rb
|
80
|
-
- lib/spotlite/list.rb
|
81
70
|
- lib/spotlite/movie.rb
|
82
|
-
- lib/spotlite/opening_this_week.rb
|
83
71
|
- lib/spotlite/person.rb
|
84
|
-
- lib/spotlite/search.rb
|
85
72
|
- lib/spotlite/string_extensions.rb
|
86
|
-
- lib/spotlite/top.rb
|
87
73
|
- lib/spotlite/version.rb
|
88
|
-
- spec/fixtures/
|
89
|
-
- spec/fixtures/
|
74
|
+
- spec/fixtures/movie_find_conan
|
75
|
+
- spec/fixtures/movie_find_no_results
|
76
|
+
- spec/fixtures/nm0000233/index
|
90
77
|
- spec/fixtures/nm0005132/index
|
91
78
|
- spec/fixtures/nm0864666/index
|
92
79
|
- spec/fixtures/nm1659547/index
|
93
|
-
- spec/fixtures/
|
94
|
-
- spec/fixtures/
|
95
|
-
- spec/fixtures/top
|
80
|
+
- spec/fixtures/person_find_conan
|
81
|
+
- spec/fixtures/person_find_no_results
|
96
82
|
- spec/fixtures/tt0002186/index
|
97
83
|
- spec/fixtures/tt0047396/releaseinfo
|
98
84
|
- spec/fixtures/tt0112873/index
|
@@ -102,54 +88,49 @@ files:
|
|
102
88
|
- spec/fixtures/tt0133093/keywords
|
103
89
|
- spec/fixtures/tt0133093/mediaindex_still_frame
|
104
90
|
- spec/fixtures/tt0133093/releaseinfo
|
91
|
+
- spec/fixtures/tt0133093/technical
|
105
92
|
- spec/fixtures/tt0133093/trivia
|
106
93
|
- spec/fixtures/tt0169547/index
|
107
94
|
- spec/fixtures/tt0317248/index
|
108
95
|
- spec/fixtures/tt1134629/fullcredits
|
109
96
|
- spec/spec_helper.rb
|
110
|
-
- spec/spotlite/
|
111
|
-
- spec/spotlite/coming_soon_spec.rb
|
97
|
+
- spec/spotlite/find_spec.rb
|
112
98
|
- spec/spotlite/movie_spec.rb
|
113
|
-
- spec/spotlite/opening_this_week_spec.rb
|
114
99
|
- spec/spotlite/person_spec.rb
|
115
|
-
- spec/spotlite/search_spec.rb
|
116
|
-
- spec/spotlite/top_spec.rb
|
117
100
|
- spotlite.gemspec
|
118
|
-
- tasks/fixtures.rake
|
119
101
|
homepage: http://github.com/defeed/spotlite
|
120
102
|
licenses:
|
121
103
|
- MIT
|
104
|
+
metadata: {}
|
122
105
|
post_install_message:
|
123
106
|
rdoc_options: []
|
124
107
|
require_paths:
|
125
108
|
- lib
|
126
109
|
required_ruby_version: !ruby/object:Gem::Requirement
|
127
|
-
none: false
|
128
110
|
requirements:
|
129
|
-
- -
|
111
|
+
- - ">="
|
130
112
|
- !ruby/object:Gem::Version
|
131
113
|
version: '0'
|
132
114
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
133
|
-
none: false
|
134
115
|
requirements:
|
135
|
-
- -
|
116
|
+
- - ">="
|
136
117
|
- !ruby/object:Gem::Version
|
137
118
|
version: '0'
|
138
119
|
requirements: []
|
139
120
|
rubyforge_project:
|
140
|
-
rubygems_version:
|
121
|
+
rubygems_version: 2.2.2
|
141
122
|
signing_key:
|
142
|
-
specification_version:
|
123
|
+
specification_version: 4
|
143
124
|
summary: Ruby gem to fetch publicly available information about movies from IMDb
|
144
125
|
test_files:
|
145
|
-
- spec/fixtures/
|
146
|
-
- spec/fixtures/
|
126
|
+
- spec/fixtures/movie_find_conan
|
127
|
+
- spec/fixtures/movie_find_no_results
|
128
|
+
- spec/fixtures/nm0000233/index
|
147
129
|
- spec/fixtures/nm0005132/index
|
148
130
|
- spec/fixtures/nm0864666/index
|
149
131
|
- spec/fixtures/nm1659547/index
|
150
|
-
- spec/fixtures/
|
151
|
-
- spec/fixtures/
|
152
|
-
- spec/fixtures/top
|
132
|
+
- spec/fixtures/person_find_conan
|
133
|
+
- spec/fixtures/person_find_no_results
|
153
134
|
- spec/fixtures/tt0002186/index
|
154
135
|
- spec/fixtures/tt0047396/releaseinfo
|
155
136
|
- spec/fixtures/tt0112873/index
|
@@ -159,15 +140,12 @@ test_files:
|
|
159
140
|
- spec/fixtures/tt0133093/keywords
|
160
141
|
- spec/fixtures/tt0133093/mediaindex_still_frame
|
161
142
|
- spec/fixtures/tt0133093/releaseinfo
|
143
|
+
- spec/fixtures/tt0133093/technical
|
162
144
|
- spec/fixtures/tt0133093/trivia
|
163
145
|
- spec/fixtures/tt0169547/index
|
164
146
|
- spec/fixtures/tt0317248/index
|
165
147
|
- spec/fixtures/tt1134629/fullcredits
|
166
148
|
- spec/spec_helper.rb
|
167
|
-
- spec/spotlite/
|
168
|
-
- spec/spotlite/coming_soon_spec.rb
|
149
|
+
- spec/spotlite/find_spec.rb
|
169
150
|
- spec/spotlite/movie_spec.rb
|
170
|
-
- spec/spotlite/opening_this_week_spec.rb
|
171
151
|
- spec/spotlite/person_spec.rb
|
172
|
-
- spec/spotlite/search_spec.rb
|
173
|
-
- spec/spotlite/top_spec.rb
|