yify 0.0.2 → 0.0.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (67) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +21 -229
  3. data/lib/yify.rb +7 -3
  4. data/lib/yify/client.rb +307 -95
  5. data/lib/yify/models/actor.rb +6 -0
  6. data/lib/yify/models/api_response.rb +0 -2
  7. data/lib/yify/models/base.rb +18 -0
  8. data/lib/yify/models/bookmark.rb +6 -0
  9. data/lib/yify/models/comment.rb +1 -9
  10. data/lib/yify/models/director.rb +6 -0
  11. data/lib/yify/models/movie.rb +0 -48
  12. data/lib/yify/models/parental_guide.rb +6 -0
  13. data/lib/yify/models/profile.rb +1 -5
  14. data/lib/yify/models/review.rb +6 -0
  15. data/lib/yify/models/session.rb +0 -4
  16. data/lib/yify/models/torrent.rb +6 -0
  17. data/lib/yify/models/user.rb +1 -13
  18. data/lib/yify/response.rb +1 -12
  19. data/lib/yify/support/utils.rb +24 -1
  20. data/lib/yify/version.rb +1 -1
  21. data/spec/fixtures/vcr_cassettes/Yify_Client/should_add_a_movie_bookmark.yml +59 -0
  22. data/spec/fixtures/vcr_cassettes/Yify_Client/should_delete_a_comment.yml +59 -0
  23. data/spec/fixtures/vcr_cassettes/Yify_Client/should_delete_a_movie_bookmark.yml +59 -0
  24. data/spec/fixtures/vcr_cassettes/Yify_Client/should_edit_a_user_profile.yml +61 -0
  25. data/spec/fixtures/vcr_cassettes/Yify_Client/should_get_a_user_key.yml +59 -0
  26. data/spec/fixtures/vcr_cassettes/Yify_Client/should_get_a_user_profile.yml +56 -0
  27. data/spec/fixtures/vcr_cassettes/Yify_Client/should_get_movie_bookmarks.yml +59 -0
  28. data/spec/fixtures/vcr_cassettes/Yify_Client/should_get_movie_comments.yml +106 -60
  29. data/spec/fixtures/vcr_cassettes/Yify_Client/should_get_movie_details.yml +42 -29
  30. data/spec/fixtures/vcr_cassettes/Yify_Client/should_get_movie_parental_guides.yml +106 -0
  31. data/spec/fixtures/vcr_cassettes/Yify_Client/should_get_movie_reviews.yml +285 -0
  32. data/spec/fixtures/vcr_cassettes/Yify_Client/should_get_movie_suggestions.yml +69 -0
  33. data/spec/fixtures/vcr_cassettes/Yify_Client/should_get_upcoming_movies.yml +31 -159
  34. data/spec/fixtures/vcr_cassettes/Yify_Client/should_get_user_details.yml +35 -16
  35. data/spec/fixtures/vcr_cassettes/Yify_Client/should_like_a_comment.yml +59 -0
  36. data/spec/fixtures/vcr_cassettes/Yify_Client/should_like_a_movie.yml +59 -0
  37. data/spec/fixtures/vcr_cassettes/Yify_Client/should_list_movies.yml +36 -14
  38. data/spec/fixtures/vcr_cassettes/Yify_Client/should_make_a_comment.yml +60 -0
  39. data/spec/fixtures/vcr_cassettes/Yify_Client/should_make_a_request.yml +60 -0
  40. data/spec/fixtures/vcr_cassettes/Yify_Client/should_recover_forgotten_passwords.yml +59 -0
  41. data/spec/fixtures/vcr_cassettes/Yify_Client/should_register_a_user.yml +29 -12
  42. data/spec/fixtures/vcr_cassettes/Yify_Client/should_report_a_comment.yml +59 -0
  43. data/spec/fixtures/vcr_cassettes/Yify_Client/should_reset_a_password.yml +29 -12
  44. data/spec/models/base_spec.rb +21 -0
  45. data/spec/response_spec.rb +7 -11
  46. data/spec/spec_helper.rb +8 -4
  47. data/spec/yify_spec.rb +97 -57
  48. data/yify.gemspec +1 -1
  49. metadata +44 -38
  50. data/lib/yify/models/requested_movie.rb +0 -17
  51. data/lib/yify/models/upcoming_movie.rb +0 -15
  52. data/spec/fixtures/vcr_cassettes/Yify_Client/should_add_a_request.yml +0 -43
  53. data/spec/fixtures/vcr_cassettes/Yify_Client/should_edit_a_profile.yml +0 -42
  54. data/spec/fixtures/vcr_cassettes/Yify_Client/should_get_a_profile.yml +0 -44
  55. data/spec/fixtures/vcr_cassettes/Yify_Client/should_get_requests_list.yml +0 -52
  56. data/spec/fixtures/vcr_cassettes/Yify_Client/should_login_a_user.yml +0 -42
  57. data/spec/fixtures/vcr_cassettes/Yify_Client/should_post_a_comment.yml +0 -42
  58. data/spec/fixtures/vcr_cassettes/Yify_Client/should_recover_passwords.yml +0 -42
  59. data/spec/fixtures/vcr_cassettes/Yify_Client/should_vote_on_requests.yml +0 -42
  60. data/spec/models/api_response_spec.rb +0 -6
  61. data/spec/models/comment_spec.rb +0 -13
  62. data/spec/models/movie_spec.rb +0 -53
  63. data/spec/models/profile_spec.rb +0 -21
  64. data/spec/models/requested_movie_spec.rb +0 -20
  65. data/spec/models/session_spec.rb +0 -8
  66. data/spec/models/upcoming_movie_spec.rb +0 -13
  67. data/spec/models/user_spec.rb +0 -17
@@ -1,42 +0,0 @@
1
- ---
2
- http_interactions:
3
- - request:
4
- method: post
5
- uri: http://yts.to/api/editprofile
6
- body:
7
- encoding: UTF-8
8
- string: hash=<HASH>&about=RUBY%20FTW!
9
- headers: {}
10
- response:
11
- status:
12
- code: 200
13
- message: OK
14
- headers:
15
- Server:
16
- - ES Server 9001
17
- Date:
18
- - Sun, 19 Oct 2014 23:26:53 GMT
19
- Content-Type:
20
- - application/json
21
- Transfer-Encoding:
22
- - chunked
23
- Connection:
24
- - keep-alive
25
- Access-Control-Allow-Origin:
26
- - "*"
27
- Age:
28
- - '0'
29
- X-Cache:
30
- - uncached
31
- Accept-Ranges:
32
- - bytes
33
- X-Frame-Options:
34
- - SAMEORIGIN
35
- X-Content-Type-Options:
36
- - nosniff
37
- body:
38
- encoding: UTF-8
39
- string: '{"status":"changes made successfully"}'
40
- http_version:
41
- recorded_at: Sun, 19 Oct 2014 23:26:54 GMT
42
- recorded_with: VCR 2.9.3
@@ -1,44 +0,0 @@
1
- ---
2
- http_interactions:
3
- - request:
4
- method: get
5
- uri: http://yts.to/api/profile?hash=<HASH>
6
- body:
7
- encoding: US-ASCII
8
- string: ''
9
- headers: {}
10
- response:
11
- status:
12
- code: 200
13
- message: OK
14
- headers:
15
- Server:
16
- - UA Server 9001
17
- Date:
18
- - Sun, 19 Oct 2014 23:13:02 GMT
19
- Content-Type:
20
- - application/json
21
- Transfer-Encoding:
22
- - chunked
23
- Connection:
24
- - keep-alive
25
- Access-Control-Allow-Origin:
26
- - "*"
27
- Age:
28
- - '0'
29
- X-Cache:
30
- - uncached
31
- Accept-Ranges:
32
- - bytes
33
- X-Frame-Options:
34
- - SAMEORIGIN
35
- X-Content-Type-Options:
36
- - nosniff
37
- body:
38
- encoding: UTF-8
39
- string: '{"UserID":"<USERID>","UserName":"<USERNAME>","JoinDated":"2014-10-20
40
- 11:41:55","JoinDatedEpoch":1413758515,"LastSeenDate":"2014-10-20 11:57:38","LastSeenDateEpoch":1413759458,"IpAddress":"<IPADDRESS>","NumOfVotesLeft":"1","NumOfRequestsLeft":"1","ProfileActive":1,"TorrentsDownloadedCount":0,"MoviesRequestedCount":0,"CommentCount":0,"ChatTimeSeconds":0,"Avatar":"http:\/\/static.yts.to\/avatar\/default_avatar.jpg","About":null,"UserRole":"Regular
41
- User"}'
42
- http_version:
43
- recorded_at: Sun, 19 Oct 2014 23:13:02 GMT
44
- recorded_with: VCR 2.9.3
@@ -1,52 +0,0 @@
1
- ---
2
- http_interactions:
3
- - request:
4
- method: get
5
- uri: http://yts.to/api/requests?limit=2&page=confirmed
6
- body:
7
- encoding: US-ASCII
8
- string: ''
9
- headers: {}
10
- response:
11
- status:
12
- code: 200
13
- message: OK
14
- headers:
15
- Server:
16
- - RO Server 9001
17
- Date:
18
- - Sun, 19 Oct 2014 23:48:22 GMT
19
- Content-Type:
20
- - application/json
21
- Transfer-Encoding:
22
- - chunked
23
- Connection:
24
- - keep-alive
25
- Access-Control-Allow-Origin:
26
- - "*"
27
- Age:
28
- - '0'
29
- X-Cache:
30
- - uncached
31
- Accept-Ranges:
32
- - bytes
33
- X-Frame-Options:
34
- - SAMEORIGIN
35
- X-Content-Type-Options:
36
- - nosniff
37
- body:
38
- encoding: UTF-8
39
- string: '{"MovieCount":"143","RequestList":[{"RequestID":"1258","MovieTitle":"American
40
- Wedding (2003)","MovieTitleClean":"American Wedding","MovieYear":"2003","ImdbCode":"tt0328828","ImdbLink":"http:\/\/www.imdb.com\/title\/tt0328828\/","CoverImage":"http:\/\/static.yts.to\/attachments\/_posters\/0328828.jpg","ShortDescription":"It&#x27;s
41
- the wedding of Jim and Michelle and the gathering of their families and friends,
42
- including Jim&#x27;s old friends from high school and Michelle&#x27;s little
43
- sister.","Genre":"Comedy","MovieRating":"6.1","DateAdded":"2012-06-25 03:42:28","DateAddedEpoch":1340552548,"Votes":13801,"UserID":"10117","Username":"shubham.1992"},{"RequestID":"669","MovieTitle":"North
44
- by Northwest (1959)","MovieTitleClean":"North by Northwest","MovieYear":"1959","ImdbCode":"tt0053125","ImdbLink":"http:\/\/www.imdb.com\/title\/tt0053125\/","CoverImage":"http:\/\/static.yts.to\/attachments\/_posters\/0053125.jpg","ShortDescription":"A
45
- hapless New York advertising executive is mistaken for a government agent
46
- by a group of foreign spies, and is pursued across the country while he looks
47
- for a way to survive.","Genre":"Adventure","MovieRating":"8.6","DateAdded":"2012-06-24
48
- 04:08:44","DateAddedEpoch":1340467724,"Votes":2949,"UserID":"48729","Username":"Saeed
49
- Ghodsi"}]}'
50
- http_version:
51
- recorded_at: Sun, 19 Oct 2014 23:47:35 GMT
52
- recorded_with: VCR 2.9.3
@@ -1,42 +0,0 @@
1
- ---
2
- http_interactions:
3
- - request:
4
- method: post
5
- uri: http://yts.to/api/login
6
- body:
7
- encoding: UTF-8
8
- string: username=<USERNAME>&password=<PASSWORD>
9
- headers: {}
10
- response:
11
- status:
12
- code: 200
13
- message: OK
14
- headers:
15
- Server:
16
- - HU Server 9001
17
- Date:
18
- - Sun, 19 Oct 2014 22:57:37 GMT
19
- Content-Type:
20
- - application/json
21
- Transfer-Encoding:
22
- - chunked
23
- Connection:
24
- - keep-alive
25
- Access-Control-Allow-Origin:
26
- - "*"
27
- Age:
28
- - '0'
29
- X-Cache:
30
- - uncached
31
- Accept-Ranges:
32
- - bytes
33
- X-Frame-Options:
34
- - SAMEORIGIN
35
- X-Content-Type-Options:
36
- - nosniff
37
- body:
38
- encoding: UTF-8
39
- string: '{"userID":"<USERID>","username":"<USERNAME>","userRole":"Users","hash":"<HASH>"}'
40
- http_version:
41
- recorded_at: Sun, 19 Oct 2014 22:57:38 GMT
42
- recorded_with: VCR 2.9.3
@@ -1,42 +0,0 @@
1
- ---
2
- http_interactions:
3
- - request:
4
- method: post
5
- uri: http://yts.to/api/commentpost
6
- body:
7
- encoding: UTF-8
8
- string: hash=<HASH>&text=RUBY%20FTW!&movieid=353
9
- headers: {}
10
- response:
11
- status:
12
- code: 200
13
- message: OK
14
- headers:
15
- Server:
16
- - HU Server 9001
17
- Date:
18
- - Sun, 19 Oct 2014 23:35:20 GMT
19
- Content-Type:
20
- - application/json
21
- Transfer-Encoding:
22
- - chunked
23
- Connection:
24
- - keep-alive
25
- Access-Control-Allow-Origin:
26
- - "*"
27
- Age:
28
- - '0'
29
- X-Cache:
30
- - uncached
31
- Accept-Ranges:
32
- - bytes
33
- X-Frame-Options:
34
- - SAMEORIGIN
35
- X-Content-Type-Options:
36
- - nosniff
37
- body:
38
- encoding: UTF-8
39
- string: '{"status":"successfully posted comment"}'
40
- http_version:
41
- recorded_at: Sun, 19 Oct 2014 23:35:21 GMT
42
- recorded_with: VCR 2.9.3
@@ -1,42 +0,0 @@
1
- ---
2
- http_interactions:
3
- - request:
4
- method: post
5
- uri: http://yts.to/api/sendresetpass
6
- body:
7
- encoding: UTF-8
8
- string: email=<EMAIL>
9
- headers: {}
10
- response:
11
- status:
12
- code: 200
13
- message: OK
14
- headers:
15
- Server:
16
- - FI Server 9001
17
- Date:
18
- - Mon, 20 Oct 2014 00:29:11 GMT
19
- Content-Type:
20
- - application/json
21
- Transfer-Encoding:
22
- - chunked
23
- Connection:
24
- - keep-alive
25
- Access-Control-Allow-Origin:
26
- - "*"
27
- Age:
28
- - '0'
29
- X-Cache:
30
- - uncached
31
- Accept-Ranges:
32
- - bytes
33
- X-Frame-Options:
34
- - SAMEORIGIN
35
- X-Content-Type-Options:
36
- - nosniff
37
- body:
38
- encoding: UTF-8
39
- string: '{"status":"password reset code has been sent"}'
40
- http_version:
41
- recorded_at: Mon, 20 Oct 2014 00:34:27 GMT
42
- recorded_with: VCR 2.9.3
@@ -1,42 +0,0 @@
1
- ---
2
- http_interactions:
3
- - request:
4
- method: post
5
- uri: http://yts.to/api/vote
6
- body:
7
- encoding: UTF-8
8
- string: hash=<HASH>&requestid=1169
9
- headers: {}
10
- response:
11
- status:
12
- code: 200
13
- message: OK
14
- headers:
15
- Server:
16
- - SK Server 9001
17
- Date:
18
- - Mon, 20 Oct 2014 07:57:51 GMT
19
- Content-Type:
20
- - application/json
21
- Transfer-Encoding:
22
- - chunked
23
- Connection:
24
- - keep-alive
25
- Access-Control-Allow-Origin:
26
- - "*"
27
- Age:
28
- - '0'
29
- X-Cache:
30
- - uncached
31
- Accept-Ranges:
32
- - bytes
33
- X-Frame-Options:
34
- - SAMEORIGIN
35
- X-Content-Type-Options:
36
- - nosniff
37
- body:
38
- encoding: UTF-8
39
- string: '{"status":"Vote submission successful"}'
40
- http_version:
41
- recorded_at: Mon, 20 Oct 2014 00:18:43 GMT
42
- recorded_with: VCR 2.9.3
@@ -1,6 +0,0 @@
1
- require 'spec_helper'
2
-
3
- describe Yify::Models::ApiResponse do
4
- it { should respond_to(:status) }
5
- it { should respond_to(:error) }
6
- end
@@ -1,13 +0,0 @@
1
- require 'spec_helper'
2
-
3
- describe Yify::Models::Comment do
4
- it { should respond_to(:comment_id) }
5
- it { should respond_to(:comment_text) }
6
- it { should respond_to(:date_added) }
7
- it { should respond_to(:date_added_epoch) }
8
- it { should respond_to(:user_id) }
9
- it { should respond_to(:parent_comment_id) }
10
- it { should respond_to(:user_name) }
11
- it { should respond_to(:user_avatar) }
12
- it { should respond_to(:user_group) }
13
- end
@@ -1,53 +0,0 @@
1
- require 'spec_helper'
2
-
3
- describe Yify::Models::Movie do
4
- it { should respond_to(:age_rating) }
5
- it { should respond_to(:cast_list) }
6
- it { should respond_to(:cover_image) }
7
- it { should respond_to(:date_uploaded) }
8
- it { should respond_to(:date_uploaded_epoch) }
9
- it { should respond_to(:director_list) }
10
- it { should respond_to(:downloaded) }
11
- it { should respond_to(:frame_rate) }
12
- it { should respond_to(:genre) }
13
- it { should respond_to(:genre1) }
14
- it { should respond_to(:genre2) }
15
- it { should respond_to(:imdb_code) }
16
- it { should respond_to(:imdb_link) }
17
- it { should respond_to(:language) }
18
- it { should respond_to(:large_cover) }
19
- it { should respond_to(:large_screenshot1) }
20
- it { should respond_to(:large_screenshot2) }
21
- it { should respond_to(:large_screenshot3) }
22
- it { should respond_to(:long_description) }
23
- it { should respond_to(:medium_cover) }
24
- it { should respond_to(:medium_screenshot1) }
25
- it { should respond_to(:medium_screenshot2) }
26
- it { should respond_to(:medium_screenshot3) }
27
- it { should respond_to(:movie_count) }
28
- it { should respond_to(:movie_id) }
29
- it { should respond_to(:movie_rating) }
30
- it { should respond_to(:movie_runtime) }
31
- it { should respond_to(:movie_title) }
32
- it { should respond_to(:movie_title_clean) }
33
- it { should respond_to(:movie_url) }
34
- it { should respond_to(:movie_year) }
35
- it { should respond_to(:quality) }
36
- it { should respond_to(:resolution) }
37
- it { should respond_to(:short_description) }
38
- it { should respond_to(:size) }
39
- it { should respond_to(:size_byte) }
40
- it { should respond_to(:state) }
41
- it { should respond_to(:subtitles) }
42
- it { should respond_to(:torrent_hash) }
43
- it { should respond_to(:torrent_magnet_url) }
44
- it { should respond_to(:torrent_peers) }
45
- it { should respond_to(:torrent_seeds) }
46
- it { should respond_to(:torrent_url) }
47
- it { should respond_to(:uploader) }
48
- it { should respond_to(:uploader_uid) }
49
- it { should respond_to(:uploader_notes) }
50
- it { should respond_to(:youtube_trailer_id) }
51
- it { should respond_to(:youtube_trailer_url) }
52
- end
53
-
@@ -1,21 +0,0 @@
1
- require 'spec_helper'
2
-
3
- describe Yify::Models::Profile do
4
- it { should respond_to(:user_id) }
5
- it { should respond_to(:user_name) }
6
- it { should respond_to(:join_dated) }
7
- it { should respond_to(:join_dated_epoch) }
8
- it { should respond_to(:last_seen_date) }
9
- it { should respond_to(:last_seen_date_epoch) }
10
- it { should respond_to(:ip_address) }
11
- it { should respond_to(:num_of_votes_left) }
12
- it { should respond_to(:num_of_requests_left) }
13
- it { should respond_to(:profile_active) }
14
- it { should respond_to(:torrents_downloaded_count) }
15
- it { should respond_to(:movies_requested_count) }
16
- it { should respond_to(:comment_count) }
17
- it { should respond_to(:chat_time_seconds) }
18
- it { should respond_to(:avatar) }
19
- it { should respond_to(:user_role) }
20
- it { should respond_to(:about) }
21
- end
@@ -1,20 +0,0 @@
1
- require 'spec_helper'
2
-
3
- describe Yify::Models::RequestedMovie do
4
- it { should respond_to(:movie_count) }
5
- it { should respond_to(:request_id) }
6
- it { should respond_to(:movie_title_clean) }
7
- it { should respond_to(:movie_year) }
8
- it { should respond_to(:movie_title) }
9
- it { should respond_to(:imdb_code) }
10
- it { should respond_to(:imdb_link) }
11
- it { should respond_to(:cover_image) }
12
- it { should respond_to(:short_description) }
13
- it { should respond_to(:genre) }
14
- it { should respond_to(:movie_rating) }
15
- it { should respond_to(:date_added) }
16
- it { should respond_to(:date_added_epoch) }
17
- it { should respond_to(:votes) }
18
- it { should respond_to(:user_id) }
19
- it { should respond_to(:user_name) }
20
- end
@@ -1,8 +0,0 @@
1
- require 'spec_helper'
2
-
3
- describe Yify::Models::Session do
4
- it { should respond_to(:hash) }
5
- it { should respond_to(:user_id) }
6
- it { should respond_to(:user_role) }
7
- it { should respond_to(:username) }
8
- end
@@ -1,13 +0,0 @@
1
- require 'spec_helper'
2
-
3
- describe Yify::Models::UpcomingMovie do
4
- it { should respond_to(:movie_title) }
5
- it { should respond_to(:movie_cover) }
6
- it { should respond_to(:imdb_code) }
7
- it { should respond_to(:imdb_link) }
8
- it { should respond_to(:uploader) }
9
- it { should respond_to(:uploader_uid) }
10
- it { should respond_to(:date_added) }
11
- it { should respond_to(:date_added_epoch) }
12
- it { should respond_to(:username) }
13
- end