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 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