enceladus 0.0.4 → 0.0.5

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 139bb385b5d027360419125fd05ef0753aca301b
4
- data.tar.gz: 7b62151b09ee814c25e65aa638ef28cd26928a40
3
+ metadata.gz: 9dcb9f3124b0f6b1b60675c25d0b9c9af14539d3
4
+ data.tar.gz: 940e98ccfe481921122505575838959a164d7a00
5
5
  SHA512:
6
- metadata.gz: 334283da05ca610a0096cbcec843f3eb5af9e7c76868e9fba64bd220cb7db55f27f418ccb624f679aecfb44e7cf1f784c2b684bb512ee66fd1a243698c0fb9c4
7
- data.tar.gz: 4c2c0935d77d0af41709cd754cb4f9cd3b2e1da8bfdb97a76184746b7d15084747a003c2104ad4612db8cd7b5f88bb6c3aef6b413dbd6bc669de65908dbcafee
6
+ metadata.gz: 0b355353b59638f0f9c91023f6d1eb7907abe4b63f4662c22ee57e01de48ea352676b6be934af9a7a942c051a4f87d8ba80bba0f1bac892b15fe9594607adce5
7
+ data.tar.gz: abba3a34301a2890e3c9fc88a8c86ab14973bb10be0f1e682bbd1647897742c462b66b5798ef85f08313f1dfa3fa9fd4ad8fccf6f2c196d41f01dbf73be292d6
data/.ruby-version CHANGED
@@ -1 +1 @@
1
- ruby 2.1.2
1
+ ruby 2.2.0
data/README.md CHANGED
@@ -6,9 +6,9 @@
6
6
  [![Dependency Status](https://gemnasium.com/osiro/enceladus.svg)](https://gemnasium.com/osiro/enceladus)
7
7
  [![Gem Version](https://badge.fury.io/rb/enceladus.svg)](http://badge.fury.io/rb/enceladus)
8
8
 
9
- A ruby wrapper for [TMDb](www.themoviedb.org).
9
+ A ruby wrapper for [TMDb](http://www.themoviedb.org).
10
10
 
11
- | [Wiki](https://github.com/osiro/enceladus/wiki) | [Documentation](http://www.rubydoc.info/github/osiro/enceladus/master/frames) |
11
+ | [Wiki](https://github.com/osiro/enceladus/wiki) | [Enceladus Documentation](http://www.rubydoc.info/github/osiro/enceladus/master/frames) | [TMDb Api Documentation](http://docs.themoviedb.apiary.io/) | [TMDb Forum](https://www.themoviedb.org/talk) |
12
12
 
13
13
  ## Installation
14
14
 
data/enceladus.gemspec CHANGED
@@ -19,13 +19,13 @@ Gem::Specification.new do |spec|
19
19
  spec.require_paths = ["lib"]
20
20
 
21
21
 
22
- spec.add_dependency "rest-client", "~> 1.7.2", '>= 1.7.2'
22
+ spec.add_dependency "rest-client", "~> 1.8.0", '>= 1.8.0'
23
23
  spec.add_development_dependency "bundler", "~> 1.6"
24
24
  spec.add_development_dependency "rake", "~> 10.1 "
25
- spec.add_development_dependency "byebug", "~> 3.0"
26
- spec.add_development_dependency 'rspec', '~> 3.0', '>= 3.0.0'
27
- spec.add_development_dependency 'webmock', '~> 1.18', '>= 1.18.0'
28
- spec.add_development_dependency 'codeclimate-test-reporter', '~> 0.4', '>= 0.4.0'
29
- spec.add_development_dependency 'factory_girl', '~> 4.0', '>= 4.0.0'
30
- spec.add_development_dependency 'faker', '~> 1.0', '>= 1.0.0'
25
+ spec.add_development_dependency "byebug", "~> 4.0"
26
+ spec.add_development_dependency 'rspec', '~> 3.0'
27
+ spec.add_development_dependency 'webmock', '~> 1.21'
28
+ spec.add_development_dependency 'codeclimate-test-reporter', '~> 0.4'
29
+ spec.add_development_dependency 'factory_girl', '~> 4.0'
30
+ spec.add_development_dependency 'faker', '~> 1.0'
31
31
  end
@@ -10,6 +10,20 @@ class Enceladus::GuestAccount
10
10
  self.session_id = Enceladus::Requester.get("authentication/guest_session/new").guest_session_id
11
11
  end
12
12
 
13
+ # Returns a list of rated movies for a specific guest account.
14
+ # Example:
15
+ # account = Enceladus::GuestAccount.new
16
+ # account.rated_movies("desc")
17
+ # => [Movie, Movie, ..., Movie]
18
+ def rated_movies(order="asc")
19
+ raise Enceladus::Exception::ArgumentError.new("Argument error must be one of: asc or desc") if order != "asc" && order != "desc"
20
+ Enceladus::MovieCollection.new("guest_session/#{session_id}/rated_movies", { sort_by: "created_at", sort_order: order }) if authenticated?
21
+ end
22
+
13
23
  private
14
24
  attr_writer :session_id
25
+
26
+ def authenticated?
27
+ !session_id.nil?
28
+ end
15
29
  end
@@ -1,3 +1,3 @@
1
1
  module Enceladus
2
- VERSION = "0.0.4"
2
+ VERSION = "0.0.5"
3
3
  end
@@ -16,4 +16,57 @@ describe Enceladus::GuestAccount do
16
16
  expect(account.session_id).to eq guest_account_response.guest_session_id
17
17
  end
18
18
  end
19
+
20
+ describe "#rated_movies" do
21
+ subject(:make_request) { account.rated_movies(order) }
22
+ let(:order) { "asc" }
23
+ let(:account) { Enceladus::GuestAccount.new }
24
+ let(:response) { build(:movie_collection_response) }
25
+
26
+ it "should return a Enceladus::MovieCollection" do
27
+ stub_request(:get, /api.themoviedb.org\/3\/guest_session\/#{account.session_id}\/rated_movies/).
28
+ to_return(status: 200, body: response.to_json)
29
+
30
+ is_expected.to be_kind_of(Enceladus::MovieCollection)
31
+ end
32
+
33
+ context "when order is asc" do
34
+ let(:order) { "asc" }
35
+ it "should make a request providing the 'asc' as the sort_order" do
36
+ request = stub_request(:get, "https://api.themoviedb.org/3/guest_session/#{account.session_id}/rated_movies?api_key=token&page=1&sort_by=created_at&sort_order=asc").
37
+ to_return(status: 200, body: response.to_json)
38
+
39
+ make_request
40
+ expect(request).to have_been_requested
41
+ end
42
+ end
43
+
44
+ context "when order is desc" do
45
+ let(:order) { "desc" }
46
+ it "should make a request providing the 'desc' as the sort_order" do
47
+ request = stub_request(:get, "https://api.themoviedb.org/3/guest_session/#{account.session_id}/rated_movies?api_key=token&page=1&sort_by=created_at&sort_order=desc").
48
+ to_return(status: 200, body: response.to_json)
49
+
50
+ make_request
51
+ expect(request).to have_been_requested
52
+ end
53
+ end
54
+
55
+ context "when order is invalid" do
56
+ let(:order) { "invalid" }
57
+ it { expect{ subject }.to raise_error Enceladus::Exception::ArgumentError }
58
+ end
59
+
60
+ describe "when order is not provided" do
61
+ subject(:make_request) { account.rated_movies }
62
+
63
+ it "should make a request providing the 'asc' as the sort_order" do
64
+ request = stub_request(:get, "https://api.themoviedb.org/3/guest_session/#{account.session_id}/rated_movies?api_key=token&page=1&sort_by=created_at&sort_order=asc").
65
+ to_return(status: 200, body: response.to_json)
66
+
67
+ make_request
68
+ expect(request).to have_been_requested
69
+ end
70
+ end
71
+ end
19
72
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: enceladus
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.4
4
+ version: 0.0.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Vinicius Osiro
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-09-10 00:00:00.000000000 Z
11
+ date: 2015-03-31 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rest-client
@@ -16,20 +16,20 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: 1.7.2
19
+ version: 1.8.0
20
20
  - - ">="
21
21
  - !ruby/object:Gem::Version
22
- version: 1.7.2
22
+ version: 1.8.0
23
23
  type: :runtime
24
24
  prerelease: false
25
25
  version_requirements: !ruby/object:Gem::Requirement
26
26
  requirements:
27
27
  - - "~>"
28
28
  - !ruby/object:Gem::Version
29
- version: 1.7.2
29
+ version: 1.8.0
30
30
  - - ">="
31
31
  - !ruby/object:Gem::Version
32
- version: 1.7.2
32
+ version: 1.8.0
33
33
  - !ruby/object:Gem::Dependency
34
34
  name: bundler
35
35
  requirement: !ruby/object:Gem::Requirement
@@ -64,14 +64,14 @@ dependencies:
64
64
  requirements:
65
65
  - - "~>"
66
66
  - !ruby/object:Gem::Version
67
- version: '3.0'
67
+ version: '4.0'
68
68
  type: :development
69
69
  prerelease: false
70
70
  version_requirements: !ruby/object:Gem::Requirement
71
71
  requirements:
72
72
  - - "~>"
73
73
  - !ruby/object:Gem::Version
74
- version: '3.0'
74
+ version: '4.0'
75
75
  - !ruby/object:Gem::Dependency
76
76
  name: rspec
77
77
  requirement: !ruby/object:Gem::Requirement
@@ -79,9 +79,6 @@ dependencies:
79
79
  - - "~>"
80
80
  - !ruby/object:Gem::Version
81
81
  version: '3.0'
82
- - - ">="
83
- - !ruby/object:Gem::Version
84
- version: 3.0.0
85
82
  type: :development
86
83
  prerelease: false
87
84
  version_requirements: !ruby/object:Gem::Requirement
@@ -89,29 +86,20 @@ dependencies:
89
86
  - - "~>"
90
87
  - !ruby/object:Gem::Version
91
88
  version: '3.0'
92
- - - ">="
93
- - !ruby/object:Gem::Version
94
- version: 3.0.0
95
89
  - !ruby/object:Gem::Dependency
96
90
  name: webmock
97
91
  requirement: !ruby/object:Gem::Requirement
98
92
  requirements:
99
93
  - - "~>"
100
94
  - !ruby/object:Gem::Version
101
- version: '1.18'
102
- - - ">="
103
- - !ruby/object:Gem::Version
104
- version: 1.18.0
95
+ version: '1.21'
105
96
  type: :development
106
97
  prerelease: false
107
98
  version_requirements: !ruby/object:Gem::Requirement
108
99
  requirements:
109
100
  - - "~>"
110
101
  - !ruby/object:Gem::Version
111
- version: '1.18'
112
- - - ">="
113
- - !ruby/object:Gem::Version
114
- version: 1.18.0
102
+ version: '1.21'
115
103
  - !ruby/object:Gem::Dependency
116
104
  name: codeclimate-test-reporter
117
105
  requirement: !ruby/object:Gem::Requirement
@@ -119,9 +107,6 @@ dependencies:
119
107
  - - "~>"
120
108
  - !ruby/object:Gem::Version
121
109
  version: '0.4'
122
- - - ">="
123
- - !ruby/object:Gem::Version
124
- version: 0.4.0
125
110
  type: :development
126
111
  prerelease: false
127
112
  version_requirements: !ruby/object:Gem::Requirement
@@ -129,9 +114,6 @@ dependencies:
129
114
  - - "~>"
130
115
  - !ruby/object:Gem::Version
131
116
  version: '0.4'
132
- - - ">="
133
- - !ruby/object:Gem::Version
134
- version: 0.4.0
135
117
  - !ruby/object:Gem::Dependency
136
118
  name: factory_girl
137
119
  requirement: !ruby/object:Gem::Requirement
@@ -139,9 +121,6 @@ dependencies:
139
121
  - - "~>"
140
122
  - !ruby/object:Gem::Version
141
123
  version: '4.0'
142
- - - ">="
143
- - !ruby/object:Gem::Version
144
- version: 4.0.0
145
124
  type: :development
146
125
  prerelease: false
147
126
  version_requirements: !ruby/object:Gem::Requirement
@@ -149,9 +128,6 @@ dependencies:
149
128
  - - "~>"
150
129
  - !ruby/object:Gem::Version
151
130
  version: '4.0'
152
- - - ">="
153
- - !ruby/object:Gem::Version
154
- version: 4.0.0
155
131
  - !ruby/object:Gem::Dependency
156
132
  name: faker
157
133
  requirement: !ruby/object:Gem::Requirement
@@ -159,9 +135,6 @@ dependencies:
159
135
  - - "~>"
160
136
  - !ruby/object:Gem::Version
161
137
  version: '1.0'
162
- - - ">="
163
- - !ruby/object:Gem::Version
164
- version: 1.0.0
165
138
  type: :development
166
139
  prerelease: false
167
140
  version_requirements: !ruby/object:Gem::Requirement
@@ -169,9 +142,6 @@ dependencies:
169
142
  - - "~>"
170
143
  - !ruby/object:Gem::Version
171
144
  version: '1.0'
172
- - - ">="
173
- - !ruby/object:Gem::Version
174
- version: 1.0.0
175
145
  description: Ruby wrapper for the The Movie Database API for all endpoints of v3
176
146
  email:
177
147
  - vinicius.osiro@gmail.com
@@ -281,7 +251,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
281
251
  version: '0'
282
252
  requirements: []
283
253
  rubyforge_project:
284
- rubygems_version: 2.2.2
254
+ rubygems_version: 2.4.5
285
255
  signing_key:
286
256
  specification_version: 4
287
257
  summary: Ruby wrapper for the The Movie Database API v3