traktr 0.5.0 → 0.7.0

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.
Files changed (57) hide show
  1. checksums.yaml +4 -4
  2. data/Rakefile +4 -0
  3. data/lib/traktr.rb +1 -2
  4. data/lib/traktr/account.rb +5 -18
  5. data/lib/traktr/activity.rb +20 -45
  6. data/lib/traktr/activity/user.rb +12 -27
  7. data/lib/traktr/calendar.rb +13 -0
  8. data/lib/traktr/client.rb +52 -1
  9. data/lib/traktr/comment.rb +18 -0
  10. data/lib/traktr/endpoint.rb +38 -0
  11. data/lib/traktr/genres.rb +11 -0
  12. data/lib/traktr/lists.rb +22 -0
  13. data/lib/traktr/lists/items.rb +15 -0
  14. data/lib/traktr/movie.rb +29 -93
  15. data/lib/traktr/movies.rb +4 -22
  16. data/lib/traktr/network.rb +27 -0
  17. data/lib/traktr/rate.rb +30 -0
  18. data/lib/traktr/recommendations.rb +19 -0
  19. data/lib/traktr/search.rb +11 -46
  20. data/lib/traktr/server.rb +7 -0
  21. data/lib/traktr/show.rb +32 -99
  22. data/lib/traktr/show/episode.rb +13 -54
  23. data/lib/traktr/show/season.rb +3 -20
  24. data/lib/traktr/shows.rb +4 -22
  25. data/lib/traktr/user.rb +33 -36
  26. data/lib/traktr/user/calendar.rb +4 -12
  27. data/lib/traktr/user/library.rb +9 -7
  28. data/lib/traktr/user/library/movies.rb +6 -24
  29. data/lib/traktr/user/library/shows.rb +6 -24
  30. data/lib/traktr/user/network.rb +5 -23
  31. data/lib/traktr/user/progress.rb +4 -17
  32. data/lib/traktr/user/ratings.rb +5 -23
  33. data/lib/traktr/user/watchlist.rb +5 -23
  34. data/lib/traktr/version.rb +1 -1
  35. data/spec/calendar_spec.rb +78 -0
  36. data/spec/comment_spec.rb +65 -0
  37. data/spec/genres_spec.rb +33 -0
  38. data/spec/lists_items_spec.rb +65 -0
  39. data/spec/lists_spec.rb +64 -0
  40. data/spec/movie_spec.rb +8 -0
  41. data/spec/network_spec.rb +94 -0
  42. data/spec/rate_spec.rb +110 -0
  43. data/spec/recommendations_spec.rb +71 -0
  44. data/spec/server_spec.rb +25 -0
  45. data/spec/show_episode_spec.rb +8 -0
  46. data/spec/show_spec.rb +12 -0
  47. data/spec/spec.yaml.sample +11 -4
  48. data/spec/spec_helper.rb +13 -4
  49. data/spec/user_calendar_spec.rb +51 -0
  50. data/spec/user_library_movies_spec.rb +59 -0
  51. data/spec/user_library_shows_spec.rb +59 -0
  52. data/spec/user_network_spec.rb +59 -0
  53. data/spec/user_progress_spec.rb +47 -0
  54. data/spec/user_ratings_spec.rb +59 -0
  55. data/spec/user_spec.rb +115 -0
  56. data/spec/user_watchlist_spec.rb +59 -0
  57. metadata +46 -2
@@ -0,0 +1,59 @@
1
+ require 'spec_helper'
2
+
3
+ describe Traktr::User::Ratings do
4
+ context 'GET methods' do
5
+ context 'with valid api_key' do
6
+ before :all do
7
+ @trakt = Traktr::Client.new(API_KEY)
8
+ end
9
+
10
+ it '#episodes' do
11
+ expect( @trakt.user.ratings.episodes("traktr").size ).to be >= 0
12
+ end
13
+
14
+ it '#movies' do
15
+ expect( @trakt.user.ratings.movies("traktr").size ).to be >= 0
16
+ end
17
+
18
+ it '#shows' do
19
+ expect( @trakt.user.ratings.shows("traktr").size ).to be >= 0
20
+ end
21
+ end
22
+
23
+ context 'with valid api_key and auth credentials' do
24
+ before :all do
25
+ @trakt = Traktr::Client.new(API_KEY, USERNAME, PASSWORD)
26
+ end
27
+
28
+ it '#episodes' do
29
+ expect( @trakt.user.ratings.episodes.size ).to be >= 0
30
+ end
31
+
32
+ it '#movies' do
33
+ expect( @trakt.user.ratings.movies.size ).to be >= 0
34
+ end
35
+
36
+ it '#shows' do
37
+ expect( @trakt.user.ratings.shows.size ).to be >= 0
38
+ end
39
+ end
40
+
41
+ context 'without valid api_key' do
42
+ before :all do
43
+ @trakt = Traktr::Client.new(nil)
44
+ end
45
+
46
+ it '#episodes' do
47
+ expect{ @trakt.user.ratings.episodes("traktr").size }.to raise_error(Traktr::ResponseError)
48
+ end
49
+
50
+ it '#movies' do
51
+ expect{ @trakt.user.ratings.movies("traktr").size }.to raise_error(Traktr::ResponseError)
52
+ end
53
+
54
+ it '#shows' do
55
+ expect{ @trakt.user.ratings.shows("traktr").size }.to raise_error(Traktr::ResponseError)
56
+ end
57
+ end
58
+ end
59
+ end
@@ -0,0 +1,115 @@
1
+ require 'spec_helper'
2
+
3
+ describe Traktr::User do
4
+ before :all do
5
+ client = Traktr::Client.new(API_KEY, USERNAME, PASSWORD)
6
+ client.lists.add({"name" => "rspec public", "privacy" => "public"})
7
+ client.lists.add({"name" => "rspec private", "privacy" => "private"})
8
+ end
9
+
10
+ after :all do
11
+ client = Traktr::Client.new(API_KEY, USERNAME, PASSWORD)
12
+ client.lists.delete("rspec-public")
13
+ client.lists.delete("rspec-private")
14
+ end
15
+
16
+ context 'GET methods' do
17
+ context 'with valid api_key' do
18
+ before :all do
19
+ @trakt = Traktr::Client.new(API_KEY)
20
+ end
21
+
22
+ it '#lastactivity' do
23
+ la = @trakt.user.lastactivity(USERNAME)
24
+ expect( la.keys.sort ).to eql(["all", "episode", "movie", "show"])
25
+ end
26
+
27
+ it '#list' do
28
+ expect( @trakt.user.list("rspec-public", USERNAME).slug ).to eql("rspec-public")
29
+ expect( @trakt.user.list("rspec-private", USERNAME).status ).to eql("failure")
30
+ end
31
+
32
+ it '#lists' do
33
+ lists = @trakt.user.lists(USERNAME)
34
+ expect( lists.length ).to eql(1)
35
+ expect( lists[0].slug ).to eql("rspec-public")
36
+ end
37
+
38
+ it '#profile' do
39
+ profile = @trakt.user.profile(USERNAME)
40
+ expect( profile.keys.sort ).to eql(
41
+ ["username", "protected", "full_name", "gender", "age", "location", "about",
42
+ "joined", "avatar", "url", "vip", "stats", "watched", "watching"].sort
43
+ )
44
+ end
45
+
46
+ it '#watching' do
47
+ watching = @trakt.user.watching(USERNAME)
48
+ expect( watching.size ).to eql(0)
49
+ end
50
+ end
51
+
52
+ context 'with valid api_key and auth credentials' do
53
+ before :all do
54
+ @trakt = Traktr::Client.new(API_KEY, USERNAME, PASSWORD)
55
+ end
56
+
57
+ it '#lastactivity' do
58
+ la = @trakt.user.lastactivity
59
+ expect( la.keys.sort ).to eql(["all", "episode", "movie", "show"])
60
+ end
61
+
62
+ it '#list' do
63
+ expect( @trakt.user.list("rspec-public").slug ).to eql("rspec-public")
64
+ expect( @trakt.user.list("rspec-private").slug ).to eql("rspec-private")
65
+ end
66
+
67
+ it '#lists' do
68
+ lists = @trakt.user.lists
69
+ expect( lists.length ).to eql(2)
70
+ expect( lists[0].slug ).to eql("rspec-public")
71
+ expect( lists[1].slug ).to eql("rspec-private")
72
+ end
73
+
74
+ it '#profile' do
75
+ profile = @trakt.user.profile
76
+ expect( profile.keys.sort ).to eql(
77
+ ["username", "protected", "full_name", "gender", "age", "location", "about",
78
+ "joined", "avatar", "url", "vip", "stats", "watched", "watching"].sort
79
+ )
80
+ end
81
+
82
+ it '#watching' do
83
+ watching = @trakt.user.watching
84
+ expect( watching.size ).to eql(0)
85
+ end
86
+ end
87
+
88
+ context 'without valid api_key' do
89
+ before :all do
90
+ @trakt = Traktr::Client.new(nil)
91
+ end
92
+
93
+ it '#lastactivity' do
94
+ expect { @trakt.user.lastactivity(USERNAME) }.to raise_error(Traktr::ResponseError)
95
+ end
96
+
97
+ it '#list' do
98
+ expect { @trakt.user.list("rspec-public", USERNAME) }.to raise_error(Traktr::ResponseError)
99
+ expect { @trakt.user.list("rspec-private", USERNAME) }.to raise_error(Traktr::ResponseError)
100
+ end
101
+
102
+ it '#lists' do
103
+ expect { @trakt.user.lists(USERNAME) }.to raise_error(Traktr::ResponseError)
104
+ end
105
+
106
+ it '#profile' do
107
+ expect { @trakt.user.profile(USERNAME) }.to raise_error(Traktr::ResponseError)
108
+ end
109
+
110
+ it '#watching' do
111
+ expect { @trakt.user.watching(USERNAME) }.to raise_error(Traktr::ResponseError)
112
+ end
113
+ end
114
+ end
115
+ end
@@ -0,0 +1,59 @@
1
+ require 'spec_helper'
2
+
3
+ describe Traktr::User::Watchlist do
4
+ context 'GET methods' do
5
+ context 'with valid api_key' do
6
+ before :all do
7
+ @trakt = Traktr::Client.new(API_KEY)
8
+ end
9
+
10
+ it '#episodes' do
11
+ expect( @trakt.user.watchlist.episodes("traktr").size ).to be >= 0
12
+ end
13
+
14
+ it '#movies' do
15
+ expect( @trakt.user.watchlist.movies("traktr").size ).to be >= 0
16
+ end
17
+
18
+ it '#shows' do
19
+ expect( @trakt.user.watchlist.shows("traktr").size ).to be >= 0
20
+ end
21
+ end
22
+
23
+ context 'with valid api_key and auth credentials' do
24
+ before :all do
25
+ @trakt = Traktr::Client.new(API_KEY, USERNAME, PASSWORD)
26
+ end
27
+
28
+ it '#episodes' do
29
+ expect( @trakt.user.watchlist.episodes.size ).to be >= 0
30
+ end
31
+
32
+ it '#movies' do
33
+ expect( @trakt.user.watchlist.movies.size ).to be >= 0
34
+ end
35
+
36
+ it '#shows' do
37
+ expect( @trakt.user.watchlist.shows.size ).to be >= 0
38
+ end
39
+ end
40
+
41
+ context 'without valid api_key' do
42
+ before :all do
43
+ @trakt = Traktr::Client.new(nil)
44
+ end
45
+
46
+ it '#episodes' do
47
+ expect{ @trakt.user.watchlist.episodes("traktr").size }.to raise_error(Traktr::ResponseError)
48
+ end
49
+
50
+ it '#movies' do
51
+ expect{ @trakt.user.watchlist.movies("traktr").size }.to raise_error(Traktr::ResponseError)
52
+ end
53
+
54
+ it '#shows' do
55
+ expect{ @trakt.user.watchlist.shows("traktr").size }.to raise_error(Traktr::ResponseError)
56
+ end
57
+ end
58
+ end
59
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: traktr
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.0
4
+ version: 0.7.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Joe Lanford
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-03-11 00:00:00.000000000 Z
11
+ date: 2014-03-28 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: httparty
@@ -111,10 +111,20 @@ files:
111
111
  - lib/traktr/account.rb
112
112
  - lib/traktr/activity.rb
113
113
  - lib/traktr/activity/user.rb
114
+ - lib/traktr/calendar.rb
114
115
  - lib/traktr/client.rb
116
+ - lib/traktr/comment.rb
117
+ - lib/traktr/endpoint.rb
118
+ - lib/traktr/genres.rb
119
+ - lib/traktr/lists.rb
120
+ - lib/traktr/lists/items.rb
115
121
  - lib/traktr/movie.rb
116
122
  - lib/traktr/movies.rb
123
+ - lib/traktr/network.rb
124
+ - lib/traktr/rate.rb
125
+ - lib/traktr/recommendations.rb
117
126
  - lib/traktr/search.rb
127
+ - lib/traktr/server.rb
118
128
  - lib/traktr/show.rb
119
129
  - lib/traktr/show/episode.rb
120
130
  - lib/traktr/show/season.rb
@@ -133,15 +143,32 @@ files:
133
143
  - spec/account_spec.rb
134
144
  - spec/activity_spec.rb
135
145
  - spec/activity_user_spec.rb
146
+ - spec/calendar_spec.rb
147
+ - spec/comment_spec.rb
148
+ - spec/genres_spec.rb
149
+ - spec/lists_items_spec.rb
150
+ - spec/lists_spec.rb
136
151
  - spec/movie_spec.rb
137
152
  - spec/movies_spec.rb
153
+ - spec/network_spec.rb
154
+ - spec/rate_spec.rb
155
+ - spec/recommendations_spec.rb
138
156
  - spec/search_spec.rb
157
+ - spec/server_spec.rb
139
158
  - spec/show_episode_spec.rb
140
159
  - spec/show_season_spec.rb
141
160
  - spec/show_spec.rb
142
161
  - spec/shows_spec.rb
143
162
  - spec/spec.yaml.sample
144
163
  - spec/spec_helper.rb
164
+ - spec/user_calendar_spec.rb
165
+ - spec/user_library_movies_spec.rb
166
+ - spec/user_library_shows_spec.rb
167
+ - spec/user_network_spec.rb
168
+ - spec/user_progress_spec.rb
169
+ - spec/user_ratings_spec.rb
170
+ - spec/user_spec.rb
171
+ - spec/user_watchlist_spec.rb
145
172
  - traktr.gemspec
146
173
  homepage: https://github.com/joelanford/traktr
147
174
  licenses:
@@ -172,12 +199,29 @@ test_files:
172
199
  - spec/account_spec.rb
173
200
  - spec/activity_spec.rb
174
201
  - spec/activity_user_spec.rb
202
+ - spec/calendar_spec.rb
203
+ - spec/comment_spec.rb
204
+ - spec/genres_spec.rb
205
+ - spec/lists_items_spec.rb
206
+ - spec/lists_spec.rb
175
207
  - spec/movie_spec.rb
176
208
  - spec/movies_spec.rb
209
+ - spec/network_spec.rb
210
+ - spec/rate_spec.rb
211
+ - spec/recommendations_spec.rb
177
212
  - spec/search_spec.rb
213
+ - spec/server_spec.rb
178
214
  - spec/show_episode_spec.rb
179
215
  - spec/show_season_spec.rb
180
216
  - spec/show_spec.rb
181
217
  - spec/shows_spec.rb
182
218
  - spec/spec.yaml.sample
183
219
  - spec/spec_helper.rb
220
+ - spec/user_calendar_spec.rb
221
+ - spec/user_library_movies_spec.rb
222
+ - spec/user_library_shows_spec.rb
223
+ - spec/user_network_spec.rb
224
+ - spec/user_progress_spec.rb
225
+ - spec/user_ratings_spec.rb
226
+ - spec/user_spec.rb
227
+ - spec/user_watchlist_spec.rb