myimdb 0.4.8 → 0.4.9
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/myimdb.rb +13 -7
- data/lib/myimdb/scraper.rb +6 -6
- data/lib/myimdb/scraper/imdb.rb +1 -1
- data/lib/myimdb/search.rb +4 -4
- data/myimdb.gemspec +7 -5
- data/test/test_bing.rb +32 -0
- data/test/test_google.rb +26 -0
- data/test/test_myimdb.rb +56 -4
- metadata +42 -67
- data/test/helper.rb +0 -10
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.4.
|
1
|
+
0.4.9
|
data/lib/myimdb.rb
CHANGED
@@ -1,14 +1,20 @@
|
|
1
|
-
require
|
2
|
-
require
|
3
|
-
require
|
4
|
-
require
|
1
|
+
require "rubygems"
|
2
|
+
require "httparty"
|
3
|
+
require "nokogiri"
|
4
|
+
require "open-uri"
|
5
5
|
|
6
|
-
require
|
7
|
-
require
|
6
|
+
require "#{File.dirname(__FILE__)}/myimdb/search"
|
7
|
+
require "#{File.dirname(__FILE__)}/myimdb/scraper"
|
8
8
|
|
9
9
|
class ImdbMovie
|
10
10
|
def self.search(movie_name)
|
11
|
-
search_result = Myimdb::Search::Base.search(movie_name, :restrict_to=>
|
11
|
+
search_result = Myimdb::Search::Base.search(movie_name, :restrict_to=> "imdb.com")[0]
|
12
12
|
Myimdb::Scraper::Imdb.new(search_result[:url]) if search_result
|
13
13
|
end
|
14
|
+
end
|
15
|
+
|
16
|
+
class String
|
17
|
+
def blank?
|
18
|
+
self.nil? || self.size == 0
|
19
|
+
end
|
14
20
|
end
|
data/lib/myimdb/scraper.rb
CHANGED
@@ -1,6 +1,6 @@
|
|
1
|
-
require
|
2
|
-
require
|
3
|
-
require
|
4
|
-
require
|
5
|
-
require
|
6
|
-
require
|
1
|
+
require "#{File.dirname(__FILE__)}/scraper/string_extensions"
|
2
|
+
require "#{File.dirname(__FILE__)}/scraper/base"
|
3
|
+
require "#{File.dirname(__FILE__)}/scraper/imdb"
|
4
|
+
require "#{File.dirname(__FILE__)}/scraper/metacritic"
|
5
|
+
require "#{File.dirname(__FILE__)}/scraper/rotten_tomatoes"
|
6
|
+
require "#{File.dirname(__FILE__)}/scraper/freebase"
|
data/lib/myimdb/scraper/imdb.rb
CHANGED
data/lib/myimdb/search.rb
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
require
|
2
|
-
require
|
3
|
-
require
|
4
|
-
require
|
1
|
+
require "httparty"
|
2
|
+
require "#{File.dirname(__FILE__)}/search/base"
|
3
|
+
require "#{File.dirname(__FILE__)}/search/google"
|
4
|
+
require "#{File.dirname(__FILE__)}/search/bing"
|
data/myimdb.gemspec
CHANGED
@@ -5,7 +5,7 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = %q{myimdb}
|
8
|
-
s.version = "0.4.
|
8
|
+
s.version = "0.4.9"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["Gaurav"]
|
@@ -36,8 +36,9 @@ Gem::Specification.new do |s|
|
|
36
36
|
"lib/myimdb/search/bing.rb",
|
37
37
|
"lib/myimdb/search/google.rb",
|
38
38
|
"myimdb.gemspec",
|
39
|
-
"test/
|
40
|
-
"test/
|
39
|
+
"test/test_myimdb.rb",
|
40
|
+
"test/test_google.rb",
|
41
|
+
"test/test_bing.rb"
|
41
42
|
]
|
42
43
|
s.homepage = %q{http://github.com/gauravs/myimdb}
|
43
44
|
s.rdoc_options = ["--charset=UTF-8"]
|
@@ -46,8 +47,9 @@ Gem::Specification.new do |s|
|
|
46
47
|
s.rubygems_version = %q{1.3.5}
|
47
48
|
s.summary = %q{Utility gem for fetching movie details.}
|
48
49
|
s.test_files = [
|
49
|
-
"test/
|
50
|
-
|
50
|
+
"test/test_myimdb.rb",
|
51
|
+
"test/test_google.rb",
|
52
|
+
"test/test_bing.rb"
|
51
53
|
]
|
52
54
|
|
53
55
|
if s.respond_to? :specification_version then
|
data/test/test_bing.rb
ADDED
@@ -0,0 +1,32 @@
|
|
1
|
+
require "test/unit"
|
2
|
+
require "#{File.dirname(__FILE__)}/../lib/myimdb"
|
3
|
+
|
4
|
+
class TestBing < Test::Unit::TestCase
|
5
|
+
|
6
|
+
def setup
|
7
|
+
## Nothing really
|
8
|
+
end
|
9
|
+
|
10
|
+
def teardown
|
11
|
+
## Nothing really
|
12
|
+
end
|
13
|
+
|
14
|
+
def search(movie_name)
|
15
|
+
Myimdb::Search::Bing.search(movie_name, :restrict_to=> "imdb.com")
|
16
|
+
end
|
17
|
+
|
18
|
+
def test_search_movie
|
19
|
+
search_result = search("The Dark Knight")
|
20
|
+
|
21
|
+
assert_equal(search_result.first[:url], "http://www.imdb.com/title/tt0468569/")
|
22
|
+
assert_equal(search_result.first[:title], "The Dark Knight (2008) - IMDb")
|
23
|
+
end
|
24
|
+
|
25
|
+
def test_misspellings
|
26
|
+
search_result = search("The Dark Night")
|
27
|
+
|
28
|
+
assert_equal(search_result.first[:url], "http://www.imdb.com/title/tt0468569/")
|
29
|
+
assert_equal(search_result.first[:title], "The Dark Knight (2008) - IMDb")
|
30
|
+
end
|
31
|
+
|
32
|
+
end
|
data/test/test_google.rb
ADDED
@@ -0,0 +1,26 @@
|
|
1
|
+
require "test/unit"
|
2
|
+
require "#{File.dirname(__FILE__)}/../lib/myimdb"
|
3
|
+
|
4
|
+
class TestGoogle < Test::Unit::TestCase
|
5
|
+
|
6
|
+
def setup
|
7
|
+
## Nothing really
|
8
|
+
end
|
9
|
+
|
10
|
+
def teardown
|
11
|
+
## Nothing really
|
12
|
+
end
|
13
|
+
|
14
|
+
def search(movie_name)
|
15
|
+
Myimdb::Search::Bing.search(movie_name, :restrict_to=> "imdb.com")
|
16
|
+
end
|
17
|
+
|
18
|
+
|
19
|
+
def test_search_movie
|
20
|
+
search_result = search("The Dark Knight")
|
21
|
+
|
22
|
+
assert_equal(search_result.first[:url], "http://www.imdb.com/title/tt0468569/")
|
23
|
+
assert_equal(search_result.first[:title], "The Dark Knight (2008) - IMDb")
|
24
|
+
end
|
25
|
+
|
26
|
+
end
|
data/test/test_myimdb.rb
CHANGED
@@ -1,7 +1,59 @@
|
|
1
|
-
require
|
1
|
+
require "test/unit"
|
2
|
+
require "#{File.dirname(__FILE__)}/../lib/myimdb"
|
2
3
|
|
3
4
|
class TestMyimdb < Test::Unit::TestCase
|
4
|
-
|
5
|
-
|
5
|
+
|
6
|
+
def setup
|
7
|
+
@movie_name = 'the dark kinght'
|
8
|
+
@movie = ImdbMovie.search(@movie_name)
|
9
|
+
end
|
10
|
+
|
11
|
+
def teardown
|
12
|
+
## Nothing really
|
13
|
+
end
|
14
|
+
|
15
|
+
def test_url
|
16
|
+
assert_equal(@movie.instance_variable_get('@url'), "http://www.imdb.com/title/tt0468569/")
|
17
|
+
end
|
18
|
+
|
19
|
+
def test_director
|
20
|
+
assert_equal(@movie.directors.first, "Christopher Nolan")
|
21
|
+
end
|
22
|
+
|
23
|
+
def test_writers
|
24
|
+
assert_equal(@movie.writers.first, "Jonathan Nolan")
|
25
|
+
end
|
26
|
+
|
27
|
+
def test_rating
|
28
|
+
assert_equal(@movie.rating, 8.9)
|
29
|
+
end
|
30
|
+
|
31
|
+
def test_votes
|
32
|
+
assert_operator(@movie.votes, :>, 725600)
|
6
33
|
end
|
7
|
-
|
34
|
+
|
35
|
+
def test_genres
|
36
|
+
assert_equal(@movie.genres.first, "Action")
|
37
|
+
end
|
38
|
+
|
39
|
+
def test_tagline
|
40
|
+
assert_match(/Why So Serious|I Believe In Harvey Dent/, @movie.tagline)
|
41
|
+
end
|
42
|
+
|
43
|
+
def test_plot
|
44
|
+
assert_match("Batman raises the stakes in his war on crime", @movie.plot, )
|
45
|
+
end
|
46
|
+
|
47
|
+
def test_year
|
48
|
+
assert_equal(@movie.year, 2008)
|
49
|
+
end
|
50
|
+
|
51
|
+
def test_release_date
|
52
|
+
assert_operator(@movie.release_date, :>, Date.parse('1-1-2008'))
|
53
|
+
end
|
54
|
+
|
55
|
+
def test_image
|
56
|
+
assert_match(/\.jpg$/, @movie.image)
|
57
|
+
end
|
58
|
+
|
59
|
+
end
|
metadata
CHANGED
@@ -1,66 +1,48 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: myimdb
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
|
5
|
-
prerelease:
|
6
|
-
segments:
|
7
|
-
- 0
|
8
|
-
- 4
|
9
|
-
- 8
|
10
|
-
version: 0.4.8
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.4.9
|
5
|
+
prerelease:
|
11
6
|
platform: ruby
|
12
|
-
authors:
|
7
|
+
authors:
|
13
8
|
- Gaurav
|
14
9
|
autorequire:
|
15
10
|
bindir: bin
|
16
11
|
cert_chain: []
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
dependencies:
|
21
|
-
- !ruby/object:Gem::Dependency
|
12
|
+
date: 2010-12-16 00:00:00.000000000Z
|
13
|
+
dependencies:
|
14
|
+
- !ruby/object:Gem::Dependency
|
22
15
|
name: httparty
|
23
|
-
|
24
|
-
requirement: &id001 !ruby/object:Gem::Requirement
|
16
|
+
requirement: &70363402315680 !ruby/object:Gem::Requirement
|
25
17
|
none: false
|
26
|
-
requirements:
|
27
|
-
- -
|
28
|
-
- !ruby/object:Gem::Version
|
29
|
-
hash: 5
|
30
|
-
segments:
|
31
|
-
- 0
|
32
|
-
- 4
|
33
|
-
- 5
|
18
|
+
requirements:
|
19
|
+
- - ! '>='
|
20
|
+
- !ruby/object:Gem::Version
|
34
21
|
version: 0.4.5
|
35
22
|
type: :runtime
|
36
|
-
version_requirements: *id001
|
37
|
-
- !ruby/object:Gem::Dependency
|
38
|
-
name: nokogiri
|
39
23
|
prerelease: false
|
40
|
-
|
24
|
+
version_requirements: *70363402315680
|
25
|
+
- !ruby/object:Gem::Dependency
|
26
|
+
name: nokogiri
|
27
|
+
requirement: &70363402315160 !ruby/object:Gem::Requirement
|
41
28
|
none: false
|
42
|
-
requirements:
|
43
|
-
- -
|
44
|
-
- !ruby/object:Gem::Version
|
45
|
-
hash: 29
|
46
|
-
segments:
|
47
|
-
- 1
|
48
|
-
- 3
|
49
|
-
- 3
|
29
|
+
requirements:
|
30
|
+
- - ! '>='
|
31
|
+
- !ruby/object:Gem::Version
|
50
32
|
version: 1.3.3
|
51
33
|
type: :runtime
|
52
|
-
|
34
|
+
prerelease: false
|
35
|
+
version_requirements: *70363402315160
|
53
36
|
description:
|
54
37
|
email: gaurav.qwe@gmail.com
|
55
|
-
executables:
|
38
|
+
executables:
|
56
39
|
- myimdb
|
57
40
|
- myimdb-catalogue
|
58
41
|
extensions: []
|
59
|
-
|
60
|
-
extra_rdoc_files:
|
42
|
+
extra_rdoc_files:
|
61
43
|
- LICENSE
|
62
44
|
- README.rdoc
|
63
|
-
files:
|
45
|
+
files:
|
64
46
|
- LICENSE
|
65
47
|
- README.rdoc
|
66
48
|
- Rakefile
|
@@ -80,42 +62,35 @@ files:
|
|
80
62
|
- lib/myimdb/search/bing.rb
|
81
63
|
- lib/myimdb/search/google.rb
|
82
64
|
- myimdb.gemspec
|
83
|
-
- test/helper.rb
|
84
65
|
- test/test_myimdb.rb
|
85
|
-
|
66
|
+
- test/test_google.rb
|
67
|
+
- test/test_bing.rb
|
86
68
|
homepage: http://github.com/gauravs/myimdb
|
87
69
|
licenses: []
|
88
|
-
|
89
70
|
post_install_message:
|
90
|
-
rdoc_options:
|
71
|
+
rdoc_options:
|
91
72
|
- --charset=UTF-8
|
92
|
-
require_paths:
|
73
|
+
require_paths:
|
93
74
|
- lib
|
94
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
75
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
95
76
|
none: false
|
96
|
-
requirements:
|
97
|
-
- -
|
98
|
-
- !ruby/object:Gem::Version
|
99
|
-
|
100
|
-
|
101
|
-
- 0
|
102
|
-
version: "0"
|
103
|
-
required_rubygems_version: !ruby/object:Gem::Requirement
|
77
|
+
requirements:
|
78
|
+
- - ! '>='
|
79
|
+
- !ruby/object:Gem::Version
|
80
|
+
version: '0'
|
81
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
104
82
|
none: false
|
105
|
-
requirements:
|
106
|
-
- -
|
107
|
-
- !ruby/object:Gem::Version
|
108
|
-
|
109
|
-
segments:
|
110
|
-
- 0
|
111
|
-
version: "0"
|
83
|
+
requirements:
|
84
|
+
- - ! '>='
|
85
|
+
- !ruby/object:Gem::Version
|
86
|
+
version: '0'
|
112
87
|
requirements: []
|
113
|
-
|
114
88
|
rubyforge_project: myimdb
|
115
|
-
rubygems_version: 1.
|
89
|
+
rubygems_version: 1.8.15
|
116
90
|
signing_key:
|
117
91
|
specification_version: 3
|
118
92
|
summary: Utility gem for fetching movie details.
|
119
|
-
test_files:
|
120
|
-
- test/helper.rb
|
93
|
+
test_files:
|
121
94
|
- test/test_myimdb.rb
|
95
|
+
- test/test_google.rb
|
96
|
+
- test/test_bing.rb
|
data/test/helper.rb
DELETED