imdb_lists 1.0.3 → 1.0.4
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/README.markdown +1 -0
- data/{imdb_vote_history.gemspec → imdb_lists.gemspec} +1 -1
- data/lib/imdb_lists/watchlist.rb +8 -2
- data/spec/watchlist_spec.rb +34 -0
- metadata +3 -3
data/README.markdown
CHANGED
@@ -42,6 +42,7 @@ Get easy access to any public [IMDb](http://www.imdb.com/) [vote history list](h
|
|
42
42
|
- **url** (String) Full URL to the IMDb list itself.
|
43
43
|
- **movies** (Array[Container::Movie]) A list of movies containing `Container::Movie` instances.
|
44
44
|
- **title** (String) Title of the watchlist.
|
45
|
+
- **valid?** (Boolean) Is the data that is being returned valid?
|
45
46
|
|
46
47
|
### The Container::Movie class
|
47
48
|
|
data/lib/imdb_lists/watchlist.rb
CHANGED
@@ -22,9 +22,15 @@ module ImdbLists
|
|
22
22
|
|
23
23
|
def title
|
24
24
|
@_title ||= content.at_css("h1").content
|
25
|
-
|
25
|
+
["Newest Lists", "Page not found"].include?(@_title) ? nil : @_title
|
26
|
+
rescue NoMethodError
|
27
|
+
nil # Default name if not found
|
26
28
|
end
|
27
|
-
|
29
|
+
|
30
|
+
def valid?
|
31
|
+
! [title, user].any?(&:nil?)
|
32
|
+
end
|
33
|
+
|
28
34
|
private
|
29
35
|
def prepare!
|
30
36
|
movies = []; content.css(".title a").each do |movie|
|
data/spec/watchlist_spec.rb
CHANGED
@@ -29,6 +29,10 @@ describe ImdbLists::Watchlist do
|
|
29
29
|
@ivh.title.should eq("My favorite movies of alltime! some of them are so bad, but so f....g brilliant")
|
30
30
|
end
|
31
31
|
|
32
|
+
it "should be valid" do
|
33
|
+
@ivh.should be_valid
|
34
|
+
end
|
35
|
+
|
32
36
|
after(:each) do
|
33
37
|
a_request(:get, @full_url).should have_been_made
|
34
38
|
end
|
@@ -76,11 +80,41 @@ describe ImdbLists::Watchlist do
|
|
76
80
|
@ivh.user.should be_nil
|
77
81
|
end
|
78
82
|
|
83
|
+
it "should not have a title" do
|
84
|
+
@ivh.title.should be_nil
|
85
|
+
end
|
86
|
+
|
79
87
|
it "should have an id" do
|
80
88
|
@ivh.id.should eq("2BZy80bxY2U")
|
81
89
|
end
|
82
90
|
end
|
83
91
|
|
92
|
+
context "empty page" do
|
93
|
+
before(:each) do
|
94
|
+
stub_request(:get, @full_url).to_return(:body => "<html></html>", :status => 200)
|
95
|
+
end
|
96
|
+
|
97
|
+
it "should return an empty list" do
|
98
|
+
@ivh.should have(0).movies
|
99
|
+
end
|
100
|
+
|
101
|
+
it "should not have a user" do
|
102
|
+
@ivh.user.should be_nil
|
103
|
+
end
|
104
|
+
|
105
|
+
it "should not have a title" do
|
106
|
+
@ivh.title.should be_nil
|
107
|
+
end
|
108
|
+
|
109
|
+
it "should have an id" do
|
110
|
+
@ivh.id.should eq("2BZy80bxY2U")
|
111
|
+
end
|
112
|
+
|
113
|
+
it "should not be valid" do
|
114
|
+
@ivh.should_not be_valid
|
115
|
+
end
|
116
|
+
end
|
117
|
+
|
84
118
|
context "the find_by_id method" do
|
85
119
|
it "should be possible to pass an id" do
|
86
120
|
ImdbLists::Watchlist.should_receive(:new).with("2BZy80bxY2U")
|
metadata
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
name: imdb_lists
|
3
3
|
version: !ruby/object:Gem::Version
|
4
4
|
prerelease:
|
5
|
-
version: 1.0.
|
5
|
+
version: 1.0.4
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
8
8
|
- Linus Oleander
|
@@ -10,7 +10,7 @@ autorequire:
|
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
12
|
|
13
|
-
date: 2011-
|
13
|
+
date: 2011-06-03 00:00:00 +02:00
|
14
14
|
default_executable:
|
15
15
|
dependencies:
|
16
16
|
- !ruby/object:Gem::Dependency
|
@@ -94,7 +94,7 @@ files:
|
|
94
94
|
- Gemfile
|
95
95
|
- README.markdown
|
96
96
|
- Rakefile
|
97
|
-
-
|
97
|
+
- imdb_lists.gemspec
|
98
98
|
- lib/imdb_lists.rb
|
99
99
|
- lib/imdb_lists/base.rb
|
100
100
|
- lib/imdb_lists/container.rb
|