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 CHANGED
@@ -1 +1 @@
1
- 0.4.2
1
+ 0.4.9
@@ -1,14 +1,20 @@
1
- require 'rubygems'
2
- require 'httparty'
3
- require 'nokogiri'
4
- require 'open-uri'
1
+ require "rubygems"
2
+ require "httparty"
3
+ require "nokogiri"
4
+ require "open-uri"
5
5
 
6
- require 'myimdb/search'
7
- require 'myimdb/scraper'
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=> 'imdb.com')[0]
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
@@ -1,6 +1,6 @@
1
- require 'myimdb/scraper/string_extensions'
2
- require 'myimdb/scraper/base'
3
- require 'myimdb/scraper/imdb'
4
- require 'myimdb/scraper/metacritic'
5
- require 'myimdb/scraper/rotten_tomatoes'
6
- require 'myimdb/scraper/freebase'
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"
@@ -22,7 +22,7 @@ module Myimdb
22
22
  end
23
23
 
24
24
  def rating
25
- document.css(".star-box .rating-rating").inner_text.strip.split('/').first.to_f
25
+ document.css(".star-box-details span[itemprop='ratingValue']").inner_text.strip.to_f
26
26
  end
27
27
 
28
28
  def votes
@@ -1,4 +1,4 @@
1
- require 'httparty'
2
- require 'myimdb/search/base'
3
- require 'myimdb/search/google'
4
- require 'myimdb/search/bing'
1
+ require "httparty"
2
+ require "#{File.dirname(__FILE__)}/search/base"
3
+ require "#{File.dirname(__FILE__)}/search/google"
4
+ require "#{File.dirname(__FILE__)}/search/bing"
@@ -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"
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/helper.rb",
40
- "test/test_myimdb.rb"
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/helper.rb",
50
- "test/test_myimdb.rb"
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
@@ -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
@@ -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
@@ -1,7 +1,59 @@
1
- require 'helper'
1
+ require "test/unit"
2
+ require "#{File.dirname(__FILE__)}/../lib/myimdb"
2
3
 
3
4
  class TestMyimdb < Test::Unit::TestCase
4
- should "probably rename this file and start testing for real" do
5
- flunk "hey buddy, you should probably rename this file and start testing for real"
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
- end
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
- hash: 31
5
- prerelease: false
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
- date: 2010-12-16 00:00:00 -08:00
19
- default_executable:
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
- prerelease: false
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
- requirement: &id002 !ruby/object:Gem::Requirement
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
- version_requirements: *id002
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
- has_rdoc: true
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
- hash: 3
100
- segments:
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
- hash: 3
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.3.7
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
@@ -1,10 +0,0 @@
1
- require 'rubygems'
2
- require 'test/unit'
3
- require 'shoulda'
4
-
5
- $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
6
- $LOAD_PATH.unshift(File.dirname(__FILE__))
7
- require 'myimdb'
8
-
9
- class Test::Unit::TestCase
10
- end