enceladus 0.0.7 → 0.0.8
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/enceladus.gemspec +4 -4
- data/lib/enceladus.rb +13 -4
- data/lib/enceladus/configuration/api.rb +2 -1
- data/lib/enceladus/logger.rb +2 -2
- data/lib/enceladus/models/alternative_title.rb +5 -0
- data/lib/enceladus/models/api_paginated_collection.rb +3 -4
- data/lib/enceladus/models/movie.rb +34 -9
- data/lib/enceladus/requester.rb +2 -0
- data/lib/enceladus/version.rb +1 -1
- data/spec/enceladus/enceladus_spec.rb +18 -1
- data/spec/enceladus/models/movie_spec.rb +28 -0
- data/spec/enceladus/requester_spec.rb +16 -4
- data/spec/factories/accounts.rb +2 -2
- data/spec/factories/alternative_titles.rb +13 -0
- data/spec/factories/certifications.rb +1 -1
- data/spec/factories/credits.rb +2 -2
- data/spec/factories/errors.rb +1 -1
- data/spec/factories/genres.rb +1 -1
- data/spec/factories/movie_collection_resources.rb +4 -4
- data/spec/factories/movies.rb +7 -7
- data/spec/factories/movies_production_companies.rb +1 -1
- data/spec/factories/production_companies.rb +6 -6
- data/spec/factories/production_company_collection_resources.rb +1 -1
- data/spec/factories/production_countries.rb +2 -2
- data/spec/factories/spoken_languages.rb +2 -2
- data/spec/factories/youtube_trailers.rb +2 -2
- data/spec/spec_helper.rb +5 -5
- metadata +15 -12
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 0a1bbe350194d6156c9651e1d07d219055c4b270
|
4
|
+
data.tar.gz: d71d5d9cb54afbf3d383ec7e6a68547c5378291f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 28366fdb6e8da1aa18332222c31ba2f6cbfe9662f5065055173a0ff9bec81211a0ae1e151725567f15931282382073aa8a099e462526f433f769b0a8e28855f1
|
7
|
+
data.tar.gz: 6c54d8f275bdcb4c04af6b9a4130fa57f1590db0553929f8981b09c63299fdc813d67ccd55976622d4d3c4010dea244e757887f380e089bcdd888c12d43e4b8b
|
data/.ruby-version
CHANGED
@@ -1 +1 @@
|
|
1
|
-
|
1
|
+
2.2.4
|
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.add_dependency "hashugar", "~> 1.0.
|
23
|
+
spec.add_dependency "hashugar", "~> 1.0.1"
|
24
24
|
spec.add_development_dependency 'bundler', ['>= 1.0.0']
|
25
|
-
spec.add_development_dependency "rake", "~> 10.
|
25
|
+
spec.add_development_dependency "rake", "~> 10.4 "
|
26
26
|
spec.add_development_dependency 'rspec', '~> 3.0'
|
27
|
-
spec.add_development_dependency 'webmock', '~> 1.
|
27
|
+
spec.add_development_dependency 'webmock', '~> 1.22'
|
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 '
|
30
|
+
spec.add_development_dependency 'ffaker', '~> 2.1'
|
31
31
|
end
|
data/lib/enceladus.rb
CHANGED
@@ -12,6 +12,7 @@ require File.dirname(__FILE__) + "/enceladus/models/genre"
|
|
12
12
|
require File.dirname(__FILE__) + "/enceladus/models/movie"
|
13
13
|
require File.dirname(__FILE__) + "/enceladus/models/movie_collection"
|
14
14
|
require File.dirname(__FILE__) + "/enceladus/models/cast"
|
15
|
+
require File.dirname(__FILE__) + "/enceladus/models/alternative_title"
|
15
16
|
require File.dirname(__FILE__) + "/enceladus/models/production_company"
|
16
17
|
require File.dirname(__FILE__) + "/enceladus/models/production_company_collection"
|
17
18
|
require File.dirname(__FILE__) + "/enceladus/models/production_country"
|
@@ -28,18 +29,26 @@ module Enceladus
|
|
28
29
|
# You can also provide the following optional arguments:
|
29
30
|
# - include_image_language: find backdrops and posters in a specific language (check out http://docs.themoviedb.apiary.io session: Image Languages)
|
30
31
|
# - include_adult: includes adult movies in searchers
|
32
|
+
# - language: returns content in a specified language
|
33
|
+
#
|
34
|
+
# Notes:
|
35
|
+
#
|
36
|
+
# - The arguments include_image_language and language must be a valid code from ISO_639-1 list, check this out for more info: http://en.wikipedia.org/wiki/List_of_ISO_639-1_codes
|
37
|
+
#
|
38
|
+
# - TMDb API does not fallback to English in a translation for a specific data is missing.
|
31
39
|
#
|
32
40
|
# Examples:
|
33
41
|
#
|
34
42
|
# Enceladus.connect("0f76454c7b22300e457800cc20f24ae9")
|
35
|
-
# Enceladus.connect("0f76454c7b22300e457800cc20f24ae9", { include_image_language: "pt
|
43
|
+
# Enceladus.connect("0f76454c7b22300e457800cc20f24ae9", { include_image_language: "pt", language: "pt", include_adult: true })
|
36
44
|
#
|
37
|
-
def self.connect(api_key, options={
|
45
|
+
def self.connect(api_key, options={})
|
38
46
|
Enceladus::Configuration::Api.instance.tap do |api|
|
39
47
|
api.connect(api_key)
|
40
|
-
api.include_adult = options[:include_adult]
|
48
|
+
api.include_adult = options[:include_adult] || false
|
49
|
+
api.language = options[:language] || "en"
|
41
50
|
end
|
42
51
|
|
43
|
-
Enceladus::Configuration::Image.instance.include_image_language = options[:include_image_language]
|
52
|
+
Enceladus::Configuration::Image.instance.include_image_language = options[:include_image_language] || "en"
|
44
53
|
end
|
45
54
|
end
|
@@ -6,12 +6,13 @@ module Enceladus::Configuration
|
|
6
6
|
include Singleton
|
7
7
|
|
8
8
|
attr_reader :base_url, :version, :api_key
|
9
|
-
attr_accessor :include_adult
|
9
|
+
attr_accessor :include_adult, :language
|
10
10
|
|
11
11
|
def initialize #:nodoc:#
|
12
12
|
self.base_url = "https://api.themoviedb.org".freeze
|
13
13
|
self.version = "3".freeze
|
14
14
|
self.include_adult = false
|
15
|
+
self.language = "en"
|
15
16
|
end
|
16
17
|
|
17
18
|
# Fetches the TMDb account configuration.
|
data/lib/enceladus/logger.rb
CHANGED
@@ -43,14 +43,14 @@ class Enceladus::Logger < Logger
|
|
43
43
|
|
44
44
|
# Changes the log level to DEBUG.
|
45
45
|
# Example:
|
46
|
-
# Enceladus::
|
46
|
+
# Enceladus::Logger.instance.enable_debug_mode!
|
47
47
|
def enable_debug_mode!
|
48
48
|
self.level = Enceladus::Logger::DEBUG
|
49
49
|
end
|
50
50
|
|
51
51
|
# Disables the debug mode by changing the log level to ERROR.
|
52
52
|
# Example:
|
53
|
-
# Enceladus::
|
53
|
+
# Enceladus::Logger.instance.disable_debug_mode!
|
54
54
|
def disable_debug_mode!
|
55
55
|
self.level = Enceladus::Logger::ERROR
|
56
56
|
end
|
@@ -1,8 +1,7 @@
|
|
1
|
+
# Provides the implementation to handle collection of paginated resources.
|
2
|
+
# The collection of resources are cached locally, after going to next pages the previous pages do not make
|
3
|
+
# any request to obtain the resources again.
|
1
4
|
class Enceladus::ApiPaginatedCollection
|
2
|
-
# Provides the implementation to handle collection of paginated resources.
|
3
|
-
# The collection of resources are cached locally, after going to next pages the previous pages do not make
|
4
|
-
# any request to obtain the resources again.
|
5
|
-
|
6
5
|
RESOURCE_CLASS = nil
|
7
6
|
|
8
7
|
attr_reader :total_pages, :total_results, :path, :params, :results_per_page
|
@@ -38,32 +38,49 @@ class Enceladus::Movie < Enceladus::ApiResource
|
|
38
38
|
# => 2
|
39
39
|
#
|
40
40
|
def self.upcoming
|
41
|
-
Enceladus::MovieCollection.new("movie/upcoming")
|
41
|
+
Enceladus::MovieCollection.new("movie/upcoming", Enceladus::Movie.default_params(only: :language))
|
42
42
|
end
|
43
43
|
|
44
44
|
# Returns a paginated collection of movies playing in theatres.
|
45
45
|
def self.now_playing
|
46
|
-
Enceladus::MovieCollection.new("movie/now_playing")
|
46
|
+
Enceladus::MovieCollection.new("movie/now_playing", Enceladus::Movie.default_params(only: :language))
|
47
47
|
end
|
48
48
|
|
49
49
|
# Returns a paginated collection of popular movies.
|
50
50
|
def self.popular
|
51
|
-
Enceladus::MovieCollection.new("movie/popular")
|
51
|
+
Enceladus::MovieCollection.new("movie/popular", Enceladus::Movie.default_params(only: :language))
|
52
52
|
end
|
53
53
|
|
54
54
|
# Returns a paginated collection of top rated movies.
|
55
55
|
def self.top_rated
|
56
|
-
Enceladus::MovieCollection.new("movie/top_rated")
|
56
|
+
Enceladus::MovieCollection.new("movie/top_rated", Enceladus::Movie.default_params(only: :language))
|
57
57
|
end
|
58
58
|
|
59
59
|
# Given a movie, this method returns a paginated collection of similar movies.
|
60
60
|
def similar
|
61
|
-
Enceladus::MovieCollection.new("movie/#{id}/similar", Enceladus::Movie.default_params)
|
61
|
+
Enceladus::MovieCollection.new("movie/#{id}/similar", Enceladus::Movie.default_params(only: [:language, :append_to_response]))
|
62
62
|
end
|
63
63
|
|
64
64
|
# Fetchs details of movie information on TMDb API.
|
65
65
|
def reload
|
66
|
-
rebuild_single_resource(Enceladus::Requester.get("movie/#{id}"))
|
66
|
+
rebuild_single_resource(Enceladus::Requester.get("movie/#{id}", Enceladus::Movie.default_params))
|
67
|
+
end
|
68
|
+
|
69
|
+
# Returns a collection of alternative titles for a specific movie.
|
70
|
+
# A country can be specified to fetch alternative titles in a certain place. The country refers to the ISO code 3166-1.
|
71
|
+
# Invalid country codes returns empty collections.
|
72
|
+
# Examples:
|
73
|
+
# movie = Enceladus::Movie.find_by_title("Star Wars").first
|
74
|
+
#
|
75
|
+
# movie.alternative_titles("BR")
|
76
|
+
# => #<Enceladus::AlternativeTitle @iso_3166_1="BR", @title="Star Wars: Episódio VII - O Despertar da Força">
|
77
|
+
#
|
78
|
+
# movie.alternative_titles
|
79
|
+
# => [#<Enceladus::AlternativeTitle @iso_3166_1="US", @title="Star Wars 7">, #<Enceladus::AlternativeTitle @iso_3166_1="ES", @title="Star Wars El despertar de la Fuerza">, ..., ...]
|
80
|
+
def alternative_titles(country=nil)
|
81
|
+
opts = Enceladus::Movie.default_params(only: :append_to_response)
|
82
|
+
opts = opts.merge(country: country) unless country.nil?
|
83
|
+
Enceladus::AlternativeTitle.build_collection(Enceladus::Requester.get("movie/#{id}/alternative_titles", opts).titles)
|
67
84
|
end
|
68
85
|
|
69
86
|
# Rate a movie.
|
@@ -155,9 +172,17 @@ private
|
|
155
172
|
end
|
156
173
|
end
|
157
174
|
|
158
|
-
def self.default_params
|
159
|
-
|
175
|
+
def self.default_params(opts = { only: [], except: [] })
|
176
|
+
opts[:only] = *opts[:only]
|
177
|
+
opts[:except] = *opts[:except]
|
178
|
+
|
179
|
+
image_language = Enceladus::Configuration::Image.instance.include_image_language
|
180
|
+
language = Enceladus::Configuration::Api.instance.language
|
160
181
|
adult = Enceladus::Configuration::Api.instance.include_adult
|
161
|
-
{ append_to_response: "releases,trailers", include_image_language:
|
182
|
+
params = { append_to_response: "releases,trailers", include_image_language: image_language, language: language, include_adult: adult }
|
183
|
+
|
184
|
+
params = params.select{ |k,_| opts[:only].include?(k) } if opts[:only] && opts[:only].any?
|
185
|
+
params = params.reject{ |k,_| opts[:except].include?(k) } if opts[:except] && opts[:except].any?
|
186
|
+
params
|
162
187
|
end
|
163
188
|
end
|
data/lib/enceladus/requester.rb
CHANGED
@@ -51,6 +51,8 @@ class Enceladus::Requester
|
|
51
51
|
def perform_request(&block)
|
52
52
|
begin
|
53
53
|
block.call
|
54
|
+
rescue RestClient::SSLCertificateNotVerified
|
55
|
+
raise
|
54
56
|
rescue RestClient::Exception => e
|
55
57
|
message = ["The Movie DB API Exception:"]
|
56
58
|
message << "@message=\"#{e.message}\""
|
data/lib/enceladus/version.rb
CHANGED
@@ -26,6 +26,11 @@ describe Enceladus do
|
|
26
26
|
expect(Enceladus::Configuration::Api.instance.include_adult).to eq(false)
|
27
27
|
end
|
28
28
|
|
29
|
+
it "should set Enceladus::Configuration::Api#language as English" do
|
30
|
+
subject
|
31
|
+
expect(Enceladus::Configuration::Api.instance.language).to eq("en")
|
32
|
+
end
|
33
|
+
|
29
34
|
describe "include_image_language" do
|
30
35
|
context "when include_image_language is provided" do
|
31
36
|
subject { Enceladus.connect(api_key, { include_image_language: include_image_language } ) }
|
@@ -40,7 +45,7 @@ describe Enceladus do
|
|
40
45
|
|
41
46
|
describe "include_adult" do
|
42
47
|
context "when include_adult is provided" do
|
43
|
-
subject { Enceladus.connect(api_key, { include_adult:
|
48
|
+
subject { Enceladus.connect(api_key, { include_adult: include_adult }) }
|
44
49
|
let(:include_adult) { true }
|
45
50
|
|
46
51
|
it "should set Enceladus::Configuration::Api#include_adult properly" do
|
@@ -49,5 +54,17 @@ describe Enceladus do
|
|
49
54
|
end
|
50
55
|
end
|
51
56
|
end
|
57
|
+
|
58
|
+
describe "language" do
|
59
|
+
context "when language is provided" do
|
60
|
+
subject { Enceladus.connect(api_key, { language: language }) }
|
61
|
+
let(:language) { "en" }
|
62
|
+
|
63
|
+
it "should set Enceladus::Configuration::Api#language properly" do
|
64
|
+
subject
|
65
|
+
expect(Enceladus::Configuration::Api.instance.language).to eq(language)
|
66
|
+
end
|
67
|
+
end
|
68
|
+
end
|
52
69
|
end
|
53
70
|
end
|
@@ -442,6 +442,34 @@ describe Enceladus::Movie do
|
|
442
442
|
end
|
443
443
|
end
|
444
444
|
|
445
|
+
describe "#alternative_titles" do
|
446
|
+
subject(:titles) { movie.alternative_titles(country) }
|
447
|
+
let(:movie) { Enceladus::Movie.new }
|
448
|
+
let(:movie_id) { 123 }
|
449
|
+
let(:response) { build(:alternative_title_response) }
|
450
|
+
let(:country) { nil }
|
451
|
+
|
452
|
+
before do
|
453
|
+
movie.id = movie_id
|
454
|
+
stub_request(:get, "https://api.themoviedb.org/3/movie/#{movie_id}/alternative_titles?api_key=token&append_to_response=releases,trailers").
|
455
|
+
to_return(status: 200, body: response.to_json)
|
456
|
+
end
|
457
|
+
|
458
|
+
it "should return a collection of Enceladus::AlternativeTitle" do
|
459
|
+
expect(titles.all?{ |alternative_title| alternative_title.kind_of?(Enceladus::Movie) })
|
460
|
+
end
|
461
|
+
|
462
|
+
describe "single alternative title resource" do
|
463
|
+
subject(:alternative_title) { titles.first }
|
464
|
+
|
465
|
+
[:title, :iso_3166_1].each do |attr|
|
466
|
+
it "should set Enceladus::AlternativeTitle##{attr}" do
|
467
|
+
expect(alternative_title.public_send(attr)).to eq(response.titles[0][attr])
|
468
|
+
end
|
469
|
+
end
|
470
|
+
end
|
471
|
+
end
|
472
|
+
|
445
473
|
describe "#backdrop_urls" do
|
446
474
|
subject { movie.backdrop_urls }
|
447
475
|
let(:movie) { Enceladus::Movie.new }
|
@@ -5,12 +5,24 @@ describe Enceladus::Requester do
|
|
5
5
|
describe "response parse error" do
|
6
6
|
subject { Enceladus::Requester.get("/movie") }
|
7
7
|
|
8
|
-
|
9
|
-
|
8
|
+
describe "malformed response" do
|
9
|
+
before do
|
10
|
+
stub_request(:get, /api.themoviedb.org\/movie/).to_return(status: 200, body: "")
|
11
|
+
end
|
12
|
+
|
13
|
+
it "should raise error Enceladus::Exception::JsonParseError" do
|
14
|
+
expect{ subject }.to raise_error Enceladus::Exception::JsonParseError
|
15
|
+
end
|
10
16
|
end
|
11
17
|
|
12
|
-
|
13
|
-
|
18
|
+
describe "SSLCertificateNotVerified" do
|
19
|
+
before do
|
20
|
+
allow(Enceladus::Requester).to receive(:get) { raise RestClient::SSLCertificateNotVerified, 'test' }
|
21
|
+
end
|
22
|
+
|
23
|
+
it "should re-raise the exception RestClient::SSLCertificateNotVerified" do
|
24
|
+
expect{ subject }.to raise_error(RestClient::SSLCertificateNotVerified)
|
25
|
+
end
|
14
26
|
end
|
15
27
|
end
|
16
28
|
end
|
data/spec/factories/accounts.rb
CHANGED
@@ -2,7 +2,7 @@ require 'date'
|
|
2
2
|
|
3
3
|
FactoryGirl.define do
|
4
4
|
factory :certification_response, class: ApiResource do
|
5
|
-
iso_3166_1 {
|
5
|
+
iso_3166_1 { FFaker::Lorem.characters(2).upcase }
|
6
6
|
certification "R"
|
7
7
|
release_date { (Date.new - rand(10)).to_s }
|
8
8
|
end
|
data/spec/factories/credits.rb
CHANGED
@@ -1,10 +1,10 @@
|
|
1
1
|
FactoryGirl.define do
|
2
2
|
factory :credits_response, class: ApiResource do
|
3
3
|
cast_id { rand(10) }
|
4
|
-
character {
|
4
|
+
character { FFaker::Lorem.word }
|
5
5
|
credit_id { "#{rand(999999)}" }
|
6
6
|
id { rand(1000) }
|
7
|
-
name {
|
7
|
+
name { FFaker::Name.name }
|
8
8
|
order { rand(10) }
|
9
9
|
profile_path { "/#{rand(99999)}.png" }
|
10
10
|
end
|
data/spec/factories/errors.rb
CHANGED
data/spec/factories/genres.rb
CHANGED
@@ -3,13 +3,13 @@ require 'date'
|
|
3
3
|
FactoryGirl.define do
|
4
4
|
factory :movie_collection_resource_response, class: ApiResource do
|
5
5
|
adult false
|
6
|
-
backdrop_path { "/#{
|
6
|
+
backdrop_path { "/#{FFaker::Name.name}.png" }
|
7
7
|
id { rand(1000) }
|
8
|
-
original_title {
|
8
|
+
original_title { FFaker::Lorem.sentence }
|
9
9
|
release_date { (Date.new - rand(10)).to_s }
|
10
|
-
poster_path { "/#{
|
10
|
+
poster_path { "/#{FFaker::Name.name}.png" }
|
11
11
|
popularity { rand * 10 }
|
12
|
-
title {
|
12
|
+
title { FFaker::Lorem.sentence }
|
13
13
|
vote_average { rand * 10 }
|
14
14
|
vote_count { rand(9999) }
|
15
15
|
end
|
data/spec/factories/movies.rb
CHANGED
@@ -3,17 +3,17 @@ require 'date'
|
|
3
3
|
FactoryGirl.define do
|
4
4
|
factory :movie_response, class: ApiResource do
|
5
5
|
adult false
|
6
|
-
backdrop_path { "/#{
|
6
|
+
backdrop_path { "/#{FFaker::Name.name}.png" }
|
7
7
|
belongs_to_collection nil
|
8
8
|
budget { rand(99999999) }
|
9
9
|
genres { [ build(:genre_response) ] }
|
10
|
-
homepage {
|
10
|
+
homepage { FFaker::Internet.http_url }
|
11
11
|
id { rand(9999) }
|
12
12
|
imdb_id { "tt#{rand(9999999)}" }
|
13
|
-
original_title {
|
14
|
-
overview {
|
13
|
+
original_title { FFaker::Lorem.sentence }
|
14
|
+
overview { FFaker::Lorem.sentence }
|
15
15
|
popularity { rand * 10 }
|
16
|
-
poster_path { "/#{
|
16
|
+
poster_path { "/#{FFaker::Name.name}.png" }
|
17
17
|
production_companies { [ build(:movies_production_company_response) ] }
|
18
18
|
production_countries { [ build(:production_country_response) ] }
|
19
19
|
release_date { (Date.new - rand(10)).to_s }
|
@@ -21,8 +21,8 @@ FactoryGirl.define do
|
|
21
21
|
runtime { rand(999) }
|
22
22
|
spoken_languages { [ build(:spoken_language_response) ] }
|
23
23
|
status "Released"
|
24
|
-
tagline {
|
25
|
-
title {
|
24
|
+
tagline { FFaker::Lorem.sentence }
|
25
|
+
title { FFaker::Lorem.sentence }
|
26
26
|
vote_average { rand * 10 }
|
27
27
|
vote_count { rand(9999) }
|
28
28
|
releases { { countries: [ build(:certification_response) ] } }
|
@@ -1,11 +1,11 @@
|
|
1
1
|
FactoryGirl.define do
|
2
2
|
factory :production_company_response, class: ApiResource do
|
3
|
-
description {
|
4
|
-
headquarters {
|
5
|
-
homepage {
|
3
|
+
description { FFaker::Lorem.sentence }
|
4
|
+
headquarters { FFaker::Address.street_address }
|
5
|
+
homepage { FFaker::Internet.http_url }
|
6
6
|
id { rand(1000) }
|
7
|
-
logo_path { "/#{
|
8
|
-
name {
|
9
|
-
parent_company {
|
7
|
+
logo_path { "/#{FFaker::Name.name}.png" }
|
8
|
+
name { FFaker::Company.name }
|
9
|
+
parent_company { FFaker::Company.name }
|
10
10
|
end
|
11
11
|
end
|
@@ -1,6 +1,6 @@
|
|
1
1
|
FactoryGirl.define do
|
2
2
|
factory :production_country_response, class: ApiResource do
|
3
|
-
iso_3166_1 {
|
4
|
-
name {
|
3
|
+
iso_3166_1 { FFaker::Lorem.characters(2).upcase }
|
4
|
+
name { FFaker::Address.country }
|
5
5
|
end
|
6
6
|
end
|
@@ -1,6 +1,6 @@
|
|
1
1
|
FactoryGirl.define do
|
2
2
|
factory :spoken_language_response, class: ApiResource do
|
3
|
-
iso_639_1 {
|
4
|
-
name {
|
3
|
+
iso_639_1 { FFaker::Lorem.characters(2).downcase }
|
4
|
+
name { FFaker::Address.country }
|
5
5
|
end
|
6
6
|
end
|
@@ -1,8 +1,8 @@
|
|
1
1
|
FactoryGirl.define do
|
2
2
|
factory :youtube_trailer_response, class: ApiResource do
|
3
|
-
name {
|
3
|
+
name { FFaker::Lorem.sentence }
|
4
4
|
size "HD"
|
5
|
-
source {
|
5
|
+
source { FFaker::Lorem.characters(10) }
|
6
6
|
type "Trailer"
|
7
7
|
end
|
8
8
|
end
|
data/spec/spec_helper.rb
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
require "codeclimate-test-reporter"
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
2
|
+
|
3
|
+
SimpleCov.add_filter "/support/responses"
|
4
|
+
SimpleCov.formatters = [ SimpleCov::Formatter::HTMLFormatter, CodeClimate::TestReporter::Formatter ]
|
5
|
+
SimpleCov.start
|
6
6
|
|
7
7
|
require 'rspec'
|
8
8
|
require 'json'
|
9
9
|
require 'webmock/rspec'
|
10
10
|
require 'enceladus'
|
11
11
|
require 'factory_girl'
|
12
|
-
require '
|
12
|
+
require 'ffaker'
|
13
13
|
require File.dirname(__FILE__) + "/support/api_resource"
|
14
14
|
|
15
15
|
RSpec.configure do |config|
|
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.8
|
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-12-24 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rest-client
|
@@ -36,14 +36,14 @@ dependencies:
|
|
36
36
|
requirements:
|
37
37
|
- - "~>"
|
38
38
|
- !ruby/object:Gem::Version
|
39
|
-
version: 1.0.
|
39
|
+
version: 1.0.1
|
40
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: 1.0.
|
46
|
+
version: 1.0.1
|
47
47
|
- !ruby/object:Gem::Dependency
|
48
48
|
name: bundler
|
49
49
|
requirement: !ruby/object:Gem::Requirement
|
@@ -64,14 +64,14 @@ dependencies:
|
|
64
64
|
requirements:
|
65
65
|
- - "~>"
|
66
66
|
- !ruby/object:Gem::Version
|
67
|
-
version: '10.
|
67
|
+
version: '10.4'
|
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: '10.
|
74
|
+
version: '10.4'
|
75
75
|
- !ruby/object:Gem::Dependency
|
76
76
|
name: rspec
|
77
77
|
requirement: !ruby/object:Gem::Requirement
|
@@ -92,14 +92,14 @@ dependencies:
|
|
92
92
|
requirements:
|
93
93
|
- - "~>"
|
94
94
|
- !ruby/object:Gem::Version
|
95
|
-
version: '1.
|
95
|
+
version: '1.22'
|
96
96
|
type: :development
|
97
97
|
prerelease: false
|
98
98
|
version_requirements: !ruby/object:Gem::Requirement
|
99
99
|
requirements:
|
100
100
|
- - "~>"
|
101
101
|
- !ruby/object:Gem::Version
|
102
|
-
version: '1.
|
102
|
+
version: '1.22'
|
103
103
|
- !ruby/object:Gem::Dependency
|
104
104
|
name: codeclimate-test-reporter
|
105
105
|
requirement: !ruby/object:Gem::Requirement
|
@@ -129,19 +129,19 @@ dependencies:
|
|
129
129
|
- !ruby/object:Gem::Version
|
130
130
|
version: '4.0'
|
131
131
|
- !ruby/object:Gem::Dependency
|
132
|
-
name:
|
132
|
+
name: ffaker
|
133
133
|
requirement: !ruby/object:Gem::Requirement
|
134
134
|
requirements:
|
135
135
|
- - "~>"
|
136
136
|
- !ruby/object:Gem::Version
|
137
|
-
version: '1
|
137
|
+
version: '2.1'
|
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: '2.1'
|
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
|
@@ -165,6 +165,7 @@ files:
|
|
165
165
|
- lib/enceladus/exceptions.rb
|
166
166
|
- lib/enceladus/logger.rb
|
167
167
|
- lib/enceladus/models/account.rb
|
168
|
+
- lib/enceladus/models/alternative_title.rb
|
168
169
|
- lib/enceladus/models/api_paginated_collection.rb
|
169
170
|
- lib/enceladus/models/api_resource.rb
|
170
171
|
- lib/enceladus/models/cast.rb
|
@@ -193,6 +194,7 @@ files:
|
|
193
194
|
- spec/enceladus/models/you_tube_trailer_spec.rb
|
194
195
|
- spec/enceladus/requester_spec.rb
|
195
196
|
- spec/factories/accounts.rb
|
197
|
+
- spec/factories/alternative_titles.rb
|
196
198
|
- spec/factories/authentications.rb
|
197
199
|
- spec/factories/certifications.rb
|
198
200
|
- spec/factories/configurations.rb
|
@@ -251,7 +253,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
251
253
|
version: '0'
|
252
254
|
requirements: []
|
253
255
|
rubyforge_project:
|
254
|
-
rubygems_version: 2.4.
|
256
|
+
rubygems_version: 2.4.8
|
255
257
|
signing_key:
|
256
258
|
specification_version: 4
|
257
259
|
summary: Ruby wrapper for the The Movie Database API v3
|
@@ -269,6 +271,7 @@ test_files:
|
|
269
271
|
- spec/enceladus/models/you_tube_trailer_spec.rb
|
270
272
|
- spec/enceladus/requester_spec.rb
|
271
273
|
- spec/factories/accounts.rb
|
274
|
+
- spec/factories/alternative_titles.rb
|
272
275
|
- spec/factories/authentications.rb
|
273
276
|
- spec/factories/certifications.rb
|
274
277
|
- spec/factories/configurations.rb
|