enceladus 0.0.6 → 0.0.7
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/.travis.yml +10 -1
- data/README.md +1 -0
- data/enceladus.gemspec +3 -3
- data/lib/enceladus/requester.rb +2 -2
- data/lib/enceladus/version.rb +1 -1
- data/spec/enceladus/models/movie_spec.rb +30 -30
- data/spec/spec_helper.rb +0 -1
- data/spec/support/api_resource.rb +4 -3
- metadata +16 -16
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d9b7596dce13b85b9193fa3ec259b90e1ca62fa6
|
4
|
+
data.tar.gz: 2e89ff1c53c93dd33274e1d06ab2c4a16e9c25cd
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 6967bdb4ea23c22152b23d7d79682200f9c394c37ba51e0d66f952467eb9c43e9029ae0134b501b44e05e17b66acf45345594302045ed8ea22a087eae96cf8e9
|
7
|
+
data.tar.gz: ff921c01d3d1d4012409679316fe8db66e6ccdbb4fd41fe979d2c32b27cdff54dbcb58947a6d0cfc151406a134d78dd4ae967d522a723cf64cb574c3776c9952
|
data/.travis.yml
CHANGED
data/README.md
CHANGED
@@ -5,6 +5,7 @@
|
|
5
5
|
[](https://codeclimate.com/github/osiro/enceladus)
|
6
6
|
[](https://gemnasium.com/osiro/enceladus)
|
7
7
|
[](http://badge.fury.io/rb/enceladus)
|
8
|
+
[](https://hakiri.io/github/osiro/enceladus/master)
|
8
9
|
|
9
10
|
A ruby wrapper for [TMDb](http://www.themoviedb.org).
|
10
11
|
|
data/enceladus.gemspec
CHANGED
@@ -20,12 +20,12 @@ Gem::Specification.new do |spec|
|
|
20
20
|
|
21
21
|
|
22
22
|
spec.add_dependency "rest-client", "~> 1.8.0", '>= 1.8.0'
|
23
|
-
spec.
|
23
|
+
spec.add_dependency "hashugar", "~> 1.0.0"
|
24
|
+
spec.add_development_dependency 'bundler', ['>= 1.0.0']
|
24
25
|
spec.add_development_dependency "rake", "~> 10.1 "
|
25
|
-
spec.add_development_dependency "byebug", "~> 4.0"
|
26
26
|
spec.add_development_dependency 'rspec', '~> 3.0'
|
27
27
|
spec.add_development_dependency 'webmock', '~> 1.21'
|
28
28
|
spec.add_development_dependency 'codeclimate-test-reporter', '~> 0.4'
|
29
29
|
spec.add_development_dependency 'factory_girl', '~> 4.0'
|
30
|
-
spec.add_development_dependency 'faker', '~> 1.
|
30
|
+
spec.add_development_dependency 'faker', '~> 1.4'
|
31
31
|
end
|
data/lib/enceladus/requester.rb
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
require 'rest_client'
|
2
|
-
require '
|
2
|
+
require 'hashugar'
|
3
3
|
|
4
4
|
class Enceladus::Requester
|
5
5
|
class << self
|
@@ -70,7 +70,7 @@ class Enceladus::Requester
|
|
70
70
|
def parse_response(response_body)
|
71
71
|
begin
|
72
72
|
Enceladus::Logger.log.info { "Response: #{JSON.pretty_generate(JSON.parse(response_body))}" }
|
73
|
-
JSON.parse(response_body
|
73
|
+
JSON.parse(response_body).to_hashugar
|
74
74
|
rescue JSON::ParserError => e
|
75
75
|
raise Enceladus::Exception::JsonParseError.new("Response body could not be parsed: #{e.message}")
|
76
76
|
end
|
data/lib/enceladus/version.rb
CHANGED
@@ -104,11 +104,11 @@ describe Enceladus::Movie do
|
|
104
104
|
it { is_expected.to be_kind_of Array }
|
105
105
|
|
106
106
|
it "should set the attribute id" do
|
107
|
-
expect(genre.id).to eq(genre_from_response
|
107
|
+
expect(genre.id).to eq(genre_from_response.id)
|
108
108
|
end
|
109
109
|
|
110
110
|
it "should set the attribute name" do
|
111
|
-
expect(genre.name).to eq(genre_from_response
|
111
|
+
expect(genre.name).to eq(genre_from_response.name)
|
112
112
|
end
|
113
113
|
end
|
114
114
|
|
@@ -120,11 +120,11 @@ describe Enceladus::Movie do
|
|
120
120
|
it { is_expected.to be_kind_of Array }
|
121
121
|
|
122
122
|
it "should set the attribute id" do
|
123
|
-
expect(production_company.id).to eq(production_company_from_response
|
123
|
+
expect(production_company.id).to eq(production_company_from_response.id)
|
124
124
|
end
|
125
125
|
|
126
126
|
it "should set the attribute name" do
|
127
|
-
expect(production_company.name).to eq(production_company_from_response
|
127
|
+
expect(production_company.name).to eq(production_company_from_response.name)
|
128
128
|
end
|
129
129
|
end
|
130
130
|
|
@@ -136,11 +136,11 @@ describe Enceladus::Movie do
|
|
136
136
|
it { is_expected.to be_kind_of Array }
|
137
137
|
|
138
138
|
it "should set the attribute iso_3166_1" do
|
139
|
-
expect(production_country.iso_3166_1).to eq(production_country_from_response
|
139
|
+
expect(production_country.iso_3166_1).to eq(production_country_from_response.iso_3166_1)
|
140
140
|
end
|
141
141
|
|
142
142
|
it "should set the attribute name" do
|
143
|
-
expect(production_country.name).to eq(production_country_from_response
|
143
|
+
expect(production_country.name).to eq(production_country_from_response.name)
|
144
144
|
end
|
145
145
|
end
|
146
146
|
|
@@ -152,11 +152,11 @@ describe Enceladus::Movie do
|
|
152
152
|
it { is_expected.to be_kind_of Array }
|
153
153
|
|
154
154
|
it "should set the attribute iso_639_1" do
|
155
|
-
expect(spoken_language.iso_639_1).to eq(spoken_language_from_response
|
155
|
+
expect(spoken_language.iso_639_1).to eq(spoken_language_from_response.iso_639_1)
|
156
156
|
end
|
157
157
|
|
158
158
|
it "should set the attribute name" do
|
159
|
-
expect(spoken_language.name).to eq(spoken_language_from_response
|
159
|
+
expect(spoken_language.name).to eq(spoken_language_from_response.name)
|
160
160
|
end
|
161
161
|
end
|
162
162
|
|
@@ -168,15 +168,15 @@ describe Enceladus::Movie do
|
|
168
168
|
it { is_expected.to be_kind_of Array }
|
169
169
|
|
170
170
|
it "should set the attribute iso_3166_1" do
|
171
|
-
expect(release.iso_3166_1).to eq(release_from_response
|
171
|
+
expect(release.iso_3166_1).to eq(release_from_response.iso_3166_1)
|
172
172
|
end
|
173
173
|
|
174
174
|
it "should set the attribute certification" do
|
175
|
-
expect(release.certification).to eq(release_from_response
|
175
|
+
expect(release.certification).to eq(release_from_response.certification)
|
176
176
|
end
|
177
177
|
|
178
178
|
it "should set the attribute release_date" do
|
179
|
-
expect(release.release_date).to eq(release_from_response
|
179
|
+
expect(release.release_date).to eq(release_from_response.release_date)
|
180
180
|
end
|
181
181
|
end
|
182
182
|
|
@@ -188,19 +188,19 @@ describe Enceladus::Movie do
|
|
188
188
|
it { is_expected.to be_kind_of Array }
|
189
189
|
|
190
190
|
it "should set the attribute name" do
|
191
|
-
expect(youtube_trailer.name).to eq(youtube_trailer_from_response
|
191
|
+
expect(youtube_trailer.name).to eq(youtube_trailer_from_response.name)
|
192
192
|
end
|
193
193
|
|
194
194
|
it "should set the attribute size" do
|
195
|
-
expect(youtube_trailer.size).to eq(youtube_trailer_from_response
|
195
|
+
expect(youtube_trailer.size).to eq(youtube_trailer_from_response.size)
|
196
196
|
end
|
197
197
|
|
198
198
|
it "should set the attribute source" do
|
199
|
-
expect(youtube_trailer.source).to eq(youtube_trailer_from_response
|
199
|
+
expect(youtube_trailer.source).to eq(youtube_trailer_from_response.source)
|
200
200
|
end
|
201
201
|
|
202
202
|
it "should set the attribute type" do
|
203
|
-
expect(youtube_trailer.type).to eq(youtube_trailer_from_response
|
203
|
+
expect(youtube_trailer.type).to eq(youtube_trailer_from_response.type)
|
204
204
|
end
|
205
205
|
end
|
206
206
|
end
|
@@ -296,8 +296,8 @@ describe Enceladus::Movie do
|
|
296
296
|
genre = movie.genres.first
|
297
297
|
genre_from_response = response.genres.first
|
298
298
|
|
299
|
-
expect(genre.id).to eq(genre_from_response
|
300
|
-
expect(genre.name).to eq(genre_from_response
|
299
|
+
expect(genre.id).to eq(genre_from_response.id)
|
300
|
+
expect(genre.name).to eq(genre_from_response.name)
|
301
301
|
end
|
302
302
|
|
303
303
|
it "should fetch movie production companies" do
|
@@ -305,8 +305,8 @@ describe Enceladus::Movie do
|
|
305
305
|
production_company = movie.production_companies.first
|
306
306
|
production_company_from_response = response.production_companies.first
|
307
307
|
|
308
|
-
expect(production_company.id).to eq(production_company_from_response
|
309
|
-
expect(production_company.name).to eq(production_company_from_response
|
308
|
+
expect(production_company.id).to eq(production_company_from_response.id)
|
309
|
+
expect(production_company.name).to eq(production_company_from_response.name)
|
310
310
|
end
|
311
311
|
|
312
312
|
it "should fetch movie production countries" do
|
@@ -314,8 +314,8 @@ describe Enceladus::Movie do
|
|
314
314
|
production_country = movie.production_countries.first
|
315
315
|
production_country_from_response = response.production_countries.first
|
316
316
|
|
317
|
-
expect(production_country.iso_3166_1).to eq(production_country_from_response
|
318
|
-
expect(production_country.name).to eq(production_country_from_response
|
317
|
+
expect(production_country.iso_3166_1).to eq(production_country_from_response.iso_3166_1)
|
318
|
+
expect(production_country.name).to eq(production_country_from_response.name)
|
319
319
|
end
|
320
320
|
|
321
321
|
it "should fetch movie spoken languages" do
|
@@ -323,8 +323,8 @@ describe Enceladus::Movie do
|
|
323
323
|
spoken_language = movie.spoken_languages.first
|
324
324
|
spoken_language_from_response = response.spoken_languages.first
|
325
325
|
|
326
|
-
expect(spoken_language.iso_639_1).to eq(spoken_language_from_response
|
327
|
-
expect(spoken_language.name).to eq(spoken_language_from_response
|
326
|
+
expect(spoken_language.iso_639_1).to eq(spoken_language_from_response.iso_639_1)
|
327
|
+
expect(spoken_language.name).to eq(spoken_language_from_response.name)
|
328
328
|
end
|
329
329
|
|
330
330
|
it "should fetch movie releases" do
|
@@ -332,9 +332,9 @@ describe Enceladus::Movie do
|
|
332
332
|
release = movie.releases.first
|
333
333
|
release_from_response = response.releases[:countries].first
|
334
334
|
|
335
|
-
expect(release.iso_3166_1).to eq(release_from_response
|
336
|
-
expect(release.certification).to eq(release_from_response
|
337
|
-
expect(release.release_date).to eq(release_from_response
|
335
|
+
expect(release.iso_3166_1).to eq(release_from_response.iso_3166_1)
|
336
|
+
expect(release.certification).to eq(release_from_response.certification)
|
337
|
+
expect(release.release_date).to eq(release_from_response.release_date)
|
338
338
|
end
|
339
339
|
|
340
340
|
it "should fetch movie trailers" do
|
@@ -342,10 +342,10 @@ describe Enceladus::Movie do
|
|
342
342
|
trailer = movie.youtube_trailers.first
|
343
343
|
trailer_from_response = response.trailers[:youtube].first
|
344
344
|
|
345
|
-
expect(trailer.name).to eq(trailer_from_response
|
346
|
-
expect(trailer.size).to eq(trailer_from_response
|
347
|
-
expect(trailer.source).to eq(trailer_from_response
|
348
|
-
expect(trailer.type).to eq(trailer_from_response
|
345
|
+
expect(trailer.name).to eq(trailer_from_response.name)
|
346
|
+
expect(trailer.size).to eq(trailer_from_response.size)
|
347
|
+
expect(trailer.source).to eq(trailer_from_response.source)
|
348
|
+
expect(trailer.type).to eq(trailer_from_response.type)
|
349
349
|
end
|
350
350
|
end
|
351
351
|
|
data/spec/spec_helper.rb
CHANGED
@@ -1,9 +1,10 @@
|
|
1
|
+
require 'ostruct'
|
1
2
|
class ApiResource < OpenStruct
|
2
3
|
def to_h
|
3
|
-
hashfied_resource =
|
4
|
+
hashfied_resource = self.marshal_dump
|
4
5
|
|
5
6
|
hashfied_resource.keys.each do |attr|
|
6
|
-
if self.
|
7
|
+
if self.public_send(attr).kind_of?(ApiResource)
|
7
8
|
hashfied_resource[attr] = hashfied_resource[attr].to_h
|
8
9
|
end
|
9
10
|
end
|
@@ -15,7 +16,7 @@ class ApiResource < OpenStruct
|
|
15
16
|
jsonfied_resource = to_h
|
16
17
|
|
17
18
|
jsonfied_resource.keys.each do |attr|
|
18
|
-
if self.
|
19
|
+
if self.public_send(attr).kind_of?(ApiResource)
|
19
20
|
jsonfied_resource[attr] = jsonfied_resource[attr].to_h
|
20
21
|
end
|
21
22
|
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.7
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Vinicius Osiro
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-
|
11
|
+
date: 2015-06-06 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rest-client
|
@@ -31,47 +31,47 @@ dependencies:
|
|
31
31
|
- !ruby/object:Gem::Version
|
32
32
|
version: 1.8.0
|
33
33
|
- !ruby/object:Gem::Dependency
|
34
|
-
name:
|
34
|
+
name: hashugar
|
35
35
|
requirement: !ruby/object:Gem::Requirement
|
36
36
|
requirements:
|
37
37
|
- - "~>"
|
38
38
|
- !ruby/object:Gem::Version
|
39
|
-
version:
|
40
|
-
type: :
|
39
|
+
version: 1.0.0
|
40
|
+
type: :runtime
|
41
41
|
prerelease: false
|
42
42
|
version_requirements: !ruby/object:Gem::Requirement
|
43
43
|
requirements:
|
44
44
|
- - "~>"
|
45
45
|
- !ruby/object:Gem::Version
|
46
|
-
version:
|
46
|
+
version: 1.0.0
|
47
47
|
- !ruby/object:Gem::Dependency
|
48
|
-
name:
|
48
|
+
name: bundler
|
49
49
|
requirement: !ruby/object:Gem::Requirement
|
50
50
|
requirements:
|
51
|
-
- - "
|
51
|
+
- - ">="
|
52
52
|
- !ruby/object:Gem::Version
|
53
|
-
version:
|
53
|
+
version: 1.0.0
|
54
54
|
type: :development
|
55
55
|
prerelease: false
|
56
56
|
version_requirements: !ruby/object:Gem::Requirement
|
57
57
|
requirements:
|
58
|
-
- - "
|
58
|
+
- - ">="
|
59
59
|
- !ruby/object:Gem::Version
|
60
|
-
version:
|
60
|
+
version: 1.0.0
|
61
61
|
- !ruby/object:Gem::Dependency
|
62
|
-
name:
|
62
|
+
name: rake
|
63
63
|
requirement: !ruby/object:Gem::Requirement
|
64
64
|
requirements:
|
65
65
|
- - "~>"
|
66
66
|
- !ruby/object:Gem::Version
|
67
|
-
version: '
|
67
|
+
version: '10.1'
|
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: '10.1'
|
75
75
|
- !ruby/object:Gem::Dependency
|
76
76
|
name: rspec
|
77
77
|
requirement: !ruby/object:Gem::Requirement
|
@@ -134,14 +134,14 @@ dependencies:
|
|
134
134
|
requirements:
|
135
135
|
- - "~>"
|
136
136
|
- !ruby/object:Gem::Version
|
137
|
-
version: '1.
|
137
|
+
version: '1.4'
|
138
138
|
type: :development
|
139
139
|
prerelease: false
|
140
140
|
version_requirements: !ruby/object:Gem::Requirement
|
141
141
|
requirements:
|
142
142
|
- - "~>"
|
143
143
|
- !ruby/object:Gem::Version
|
144
|
-
version: '1.
|
144
|
+
version: '1.4'
|
145
145
|
description: Ruby wrapper for the The Movie Database API for all endpoints of v3
|
146
146
|
email:
|
147
147
|
- vinicius.osiro@gmail.com
|