enceladus 0.0.4 → 0.0.5
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.
- checksums.yaml +4 -4
- data/.ruby-version +1 -1
- data/README.md +2 -2
- data/enceladus.gemspec +7 -7
- data/lib/enceladus/models/guest_account.rb +14 -0
- data/lib/enceladus/version.rb +1 -1
- data/spec/enceladus/models/guest_account_spec.rb +53 -0
- metadata +11 -41
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 9dcb9f3124b0f6b1b60675c25d0b9c9af14539d3
|
4
|
+
data.tar.gz: 940e98ccfe481921122505575838959a164d7a00
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 0b355353b59638f0f9c91023f6d1eb7907abe4b63f4662c22ee57e01de48ea352676b6be934af9a7a942c051a4f87d8ba80bba0f1bac892b15fe9594607adce5
|
7
|
+
data.tar.gz: abba3a34301a2890e3c9fc88a8c86ab14973bb10be0f1e682bbd1647897742c462b66b5798ef85f08313f1dfa3fa9fd4ad8fccf6f2c196d41f01dbf73be292d6
|
data/.ruby-version
CHANGED
@@ -1 +1 @@
|
|
1
|
-
ruby 2.
|
1
|
+
ruby 2.2.0
|
data/README.md
CHANGED
@@ -6,9 +6,9 @@
|
|
6
6
|
[](https://gemnasium.com/osiro/enceladus)
|
7
7
|
[](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.
|
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", "~>
|
26
|
-
spec.add_development_dependency 'rspec', '~> 3.0'
|
27
|
-
spec.add_development_dependency 'webmock', '~> 1.
|
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'
|
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
|
data/lib/enceladus/version.rb
CHANGED
@@ -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
|
+
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:
|
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.
|
19
|
+
version: 1.8.0
|
20
20
|
- - ">="
|
21
21
|
- !ruby/object:Gem::Version
|
22
|
-
version: 1.
|
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.
|
29
|
+
version: 1.8.0
|
30
30
|
- - ">="
|
31
31
|
- !ruby/object:Gem::Version
|
32
|
-
version: 1.
|
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: '
|
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: '
|
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.
|
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.
|
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.
|
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
|