enceladus 0.0.7 → 0.0.8
Sign up to get free protection for your applications and to get access to all the features.
- 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
|